trompamusic/ce-api

export schema:Persons as dcterms:Agents

Closed this issue · 3 comments

We are using dcterms:creator at various places in the data model (e.g., to associate Web Annotations with their creators). This property expects a value of type dcterms:Agent.
To fulfil this requirement, please could we modify the semantic (json-ld) export to include dcterms:Agent as an (additional) @type for any schema:Person.

Note that in ControlAction.participant, we're using https://schema.org/participant, which isn't a dcterms:Agent.

@musicog Could you provide us with an example of how the JSON-LD response should look like?

Or is it as simple as:

{
    "@context": [
        "https://schema.org/",
        {
            "dc": "http://purl.org/dc/elements/1.1/",
            "prov": "https://www.w3.org/TR/prov-o/#",
            "skos": "http://www.w3.org/2004/02/skos/core#",
            "rdf": "https://www.w3.org/2000/01/rdf-schema"
        }
    ],
    "@type": [
        "http://purl.org/dc/terms/Agent",
        "https://schema.org/Person",
        "https://www.w3.org/TR/prov-o/#Agent"
    ],
    "dc:date": null,
    "funder": [],
    "parent": [],
    "dc:subject": "Composer",
    "jobTitle": null,
    "prov:wasDerivedFrom": [],
    "dc:language": "en",
    "prov:used": [],

Yup, simple as that!

except for the @context fixes already discussed elsewhere...

"dc": "http://purl.org/dc/terms/",
"prov": "http://www.w3.org/ns/prov#",
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#"

(and similar fixes to the URIs in @type, or you can just use their prefixed versions there, i.e.

"@type": [
   "dc:Agent", 
   "Person",
   "prov:Agent"
]