StadGent / node_service_eventstream-api

Adlib2Eventstream API
https://apidg.gent.be/opendata/adlib2eventstream/v1/api-docs/
Other
8 stars 4 forks source link

Mapping: `InformatieObject.titel` isn't valid for an Activity #43

Closed azaroth42 closed 3 months ago

azaroth42 commented 1 year ago

crm:P102_has_title (mapped to InformatieObject.titel in the contexts) has a domain of E71 Human-Made Thing. The documentation: https://cidoc-crm.org/html/cidoc_crm_v7.1.2.html#P102

E7 Activity is not a temporal entity, rather than a physical entity and as such cannot have a Title. Currently the value is an rdf:langString, which is also not valid, as the range of the property is E35_Title.

Instead, it should use P1_is_identified_by, to an E33_E41_Linguistic_Appellation, which would then have the content in P190_has_symbolic_content`.

Like this:

{
  "@type": "E7_Activity",
  "P1_is_identified_by": [{
    "@type": "E33_E41_Linguistic_Appellation",
    "P190_has_symbolic_content": "Kleureyck. Van Eycks kleuren in design"
  }]
}

Names in Linked Art are documented here: https://linked.art/model/base/#names

MPParsley commented 3 months ago

Fixed, see https://github.com/StadGent/node_service_adlib-backend/blob/main/src/lib/mappers/tentoonstellingMapper.js#L121