Skip to content

DataService.endpointURL expands as an RDF literal, not an IRI #278

Description

@SimonStier

Bug Report

Describe the Bug

Type: normative

DataService.endpointURL is a string in the JSON Schema and is mapped without IRI coercion in the JSON-LD context, so it expands to an RDF literal.

Expected Behavior

dcat:endpointURL expands to an IRI. DCAT 3 defines it as the web-resolvable IRI of the service, and DCAT-AP 3.0.1 gives it range Resource, "the root location or primary endpoint of the service (an IRI)".

Observed Behavior

It expands to a literal, so a DSP catalogue cannot satisfy DCAT or DCAT-AP on that property.

artifacts/src/main/resources/catalog/dataset-schema.json:

"endpointURL": { "type": "string" }

artifacts/src/main/resources/context/dspace.jsonld:

"endpointURL": "dcat:endpointURL"

There is no implementer workaround: an @id object violates the schema, and the term is @protected.

Possible Implementation

"endpointURL": { "@id": "dcat:endpointURL", "@type": "@id" }

The serialized JSON is unchanged, only its RDF interpretation.

Same class as #277, where the schema and the context disagree about a property. #250 covers the lexical form of this property; a conforming implementation needs both.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions