Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle dcat:accessService #698

Open
coret opened this issue Mar 14, 2023 · 5 comments
Open

Handle dcat:accessService #698

coret opened this issue Mar 14, 2023 · 5 comments

Comments

@coret
Copy link
Contributor

coret commented Mar 14, 2023

The dcat:accessService property is a new property of the dcat:Distribution. It's meant to link to a DataService, which allows for a better description of services like SPARQL-endpoint. This new property should be allowed in the DCAT validation and stored in the right way (as we use DCAT for the data in our triplestore, a transformation is not be needed, just the right selection).

coret added a commit that referenced this issue Mar 14, 2023
@coret
Copy link
Contributor Author

coret commented Mar 14, 2023

@ddeboer could you append the selection in query.ts to handle this "extra" DCAT data?

@ddeboer
Copy link
Member

ddeboer commented Mar 15, 2023

@coret The SHACL now requires accessURL OR downloadURL OR accessService. Is this intentional? The query itself always assumed accessURL must always be available. Also keep in mind all these OPTIONALs in our SPARQL query may slow things down.

Also: accessService expects a node, not a literal (URL).

@coret
Copy link
Contributor Author

coret commented Mar 15, 2023

@ddeboer the "accessURL OR downloadURL" was already in the SHACL, I now added the "OR accessService". So if the query only looks at accessURL, it should be expanded to "accessURL OR downloadURL OR accessService".

@coret
Copy link
Contributor Author

coret commented Mar 15, 2023

There's an additional sub-issue. The DCAT implementation by Triply (see for example the <script> blocks within https://data.netwerkdigitaalerfgoed.nl/coret/GoudaTimeMachine) omits an dcat:mediaType for dcat:Distribution with a dcat:accessService. Currently thats required in our SHACL.

Asked about if this was an oversight or deliberate omission, the response was:

een SPARQL endpoint heeft m.i. eigenlijk geen mediatype (mime, content-type, of anders). De gebruiker van de service kan immers zelf middels een HTTP Accept header een gewenste content-type opvragen (JSON-LD, Turtle, NT, etc). Bij de schema.org hebben we het gedaan om compliant te zijn met jullie SHACL shapes, maar ook daar klopt het eigenlijk niet 100%.

I tend to agree. But this makes querying the Dataset Register also harder. Now we can just filter on dcat:mediaType (sourced from schema:encodingFormat) to find linked data. With dcat:accessService (and without dcat:mediaType) the SPARQL becomes harder. It's semantically better though.

@ddeboer
Copy link
Member

ddeboer commented Mar 16, 2023

  1. How do we identify a distribution as a SPARQL endpoint, if we no longer have a format/mediaType for it?
  2. While dcat:accessURL and dcat:downloadURL have a simple URL as their range, dcat:accessService has a dcat:DataService resource. How do we want to map/store that resource?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants