-
Notifications
You must be signed in to change notification settings - Fork 1
Let Annotations be schema:Things #86
Comments
@musicog can you explain a bit more detail how additionalType may work? We've not been mandating that these items also have the additionalType field filled (as a single item, as a list?). In this case, is it mandatory that we add both schema.org/Thing and schema.org/CreativeWork to the additionalType field when rendering to json-ld? Where should this be done? Should it be done only in the json-ld renderer? Should we require that this field is always set in mutations? Can we automatically fill it in somehow using the graphql-neo4j bindings that we use? |
Your example specifically does not require additionalTypes to be specified since schema:DigitalDocuments are rdfs:subClassOf schema:CreativeWork (which are in turn rdfs:subClassOf schema:Thing) -- see https://schema.org/DigitalDocument.ttl and https://schema.org/CreativeWork.ttl However, oa:Annotations are not rdfs:subClassOf schema:Thing, since schema.org and the Web Annotations Data Model are not (explicitly, formally) interlinked. Hence why we need to take the trouble to specify the additionalType. In other words, a web client application that cares about semantics ought to expect schema:DigitalDocuments to be specialisations of schema:Things, but it's unfair to expect them to know that oa:Annotations are schema:Things without the additional prompt. As to how to render this in json-ld, my first instinct would be to append the type and any additionalTypes of any given node into the "@type" field of the json-ld output - always producing a list, even if it's a list of one item. Unless you foresee a case where we have to retain the separation of "type" and "additionalType" in the JSON-LD, in which case we could directly incorporate the schema:additionalType property into the JSON-LD output. I suspect the former would produce more useful data. |
Thanks for the explanation. This distinction is clear to me now. |
related: #85 |
I made annotations schema:Things in #100 |
As discussed with @alastair, model TROMPA Web Annotations as Things (as well as Annotations), probably using additionalType, so that we can store them within ItemLists
The text was updated successfully, but these errors were encountered: