Penso che quei campi @id dovrebbero essere URL funzionanti, perché W3.org dice:
Per poter fare riferimento esternamente ai nodi in un grafo, è importante che i nodi abbiano un identificatore. Gli IRI sono un concetto fondamentale dei Linked Data, affinché i nodi siano veramente collegati, la risoluzione dell’identificatore dovrebbe produrre una rappresentazione di quel nodo. Ciò potrebbe consentire a un’applicazione di recuperare ulteriori informazioni su un nodo.
Mi chiedo se questo sia un problema di come il validatore visualizza l’id. Per quanto ne so, l’id viene estratto dal markup e non è qualcosa che definiamo noi stessi, ad esempio:
Se fai clic su quella sezione dell’id nel validatore, viene evideniato correttamente il post con l’id corrispondente… quindi sembra che il validatore possa identificarlo correttamente.
Noto questo comportamento su altri siti con valori @id, ad esempio nei dati schema per questa domanda di stackoverflow.com:
È interessante. Non avevo pensato di controllare il codice sorgente HTML e ho semplicemente presunto che fosse JSON-LD.
Google utilizza i dati schema, ma non sono sicuro che utilizzino quello specifico. La documentazione di schema.org non è scritta molto chiaramente.
Sembra che Discourse stia inserendo più DiscussionForumPosting per ogni argomento, ma l’esempio nella documentazione sembra indicare che DiscussionForumPosting potrebbe riferirsi solo all’argomento principale e non ai commenti? La documentazione elenca un campo comment con un Comment (singolare) anche se la descrizione è formulata al plurale.
Ho appena controllato come fa Invison e utilizza JSON-LD, inserendo oggetti Comment in un campo comment. Sembra che sia un sacco di testo aggiuntivo da inviare al browser.
Non so quale sia la risposta, ma cercherò di approfondire più tardi.
Mi capita di essere in agguato su questo forum, il che è comodo. Possiedo il codice Google che analizza questo.
Il thread collegato è una buona risposta alla tangente del commento. Affronterò il resto qui.
È essenzialmente non standard interpretare gli attributi ID di HTML come ID di nodo. È stato fatto all’inizio dell’analisi microdata di Google, probabilmente per ragioni vaghe. Dovresti usare itemid se vuoi farlo esplicitamente. Spero di rimuovere quell’hack un giorno, ma è difficile rimuovere qualcosa del genere senza perdite.
In secondo luogo, gli IRI non devono essere dereferenziabili. Questo è un suggerimento del W3C, ma molti IRI non lo sono e Google non lo richiede assolutamente.
Questo è un problema solo se causa la fusione involontaria di nodi nei dati strutturati, come se avessi usato un itemid dello stesso valore altrove nell’HTML. Altrimenti è solo una stranezza che può essere ignorata.
Oh, e per favore non passare a JSON-LD. Onestamente, è preferibile per markup pesanti di testo come i forum. Dover duplicare i contenuti testuali è sciocco. È semplicemente più facile da scrivere, motivo per cui lo stiamo promuovendo.