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

Appendix showing an example of of conneg use in DCAT #1042

Closed
nicholascar opened this issue Aug 13, 2019 · 3 comments
Closed

Appendix showing an example of of conneg use in DCAT #1042

nicholascar opened this issue Aug 13, 2019 · 3 comments

Comments

@nicholascar
Copy link
Contributor

nicholascar commented Aug 13, 2019

@rob-metalinkage: we declare a DataService for a dataset that uses one of the Conneg functional profiles

How do we describe both functional and data aspects of a service?

From DCAT:

the dcat:accessURL for each dcat:Distribution corresponds with the dcat:endpointURL of the service. Each service is characterized by its general type using dct:type (here using values from the INSPIRE spatial data service type vocabulary), its specific API definition using `dct:conformsTo'

From Conneg by P:

This section's [2.1] identifications of profiles of this specification exemplifies functional profiles which profile a functional specification, rather than a data profile which profiles a data specification. This specification describes how a system should behave and this section indicates different profiles of that behaviour, rather than content (data).

Perhaps:

Dataset/Distribution/conformsTo --> Data Profile
Dataset/Distribution/accessService/conformsTo --> Functional Profile
@nicholascar nicholascar added this to the Conneg 4PWD milestone Aug 13, 2019
@nicholascar nicholascar self-assigned this Aug 13, 2019
@nicholascar nicholascar added this to To do in Content Negotiation by Profile via automation Aug 13, 2019
@rob-metalinkage
Copy link
Contributor

rob-metalinkage commented Aug 13, 2019

:aDataset dcat:hasDistribution :aDatasetDistribution .

# declare what this version data looks like
:aDatasetDistribution a dcat:Distribution ;
  dcterms:conformsTo eg:someDataProfile ;
  dcat:accessService eg:connegDataAccessService 
 .

# describe data
eg:someDataProfile a prof:DataProfile ;
  # other details
.
# declare how data can be accessed
eg:connegDataAccessService a dcat:DataService ;
 dcterms:conformsTo <http://www.w3.org/ns/dx/conneg/profile/http>,<http://www.w3.org/ns/dx/conneg/profile/qsa> ;
# declare that the dataset may be invoked by URI id using conneg-by-ap
dcat:endPointURL :aDataset ;
.

Note that there doesnt appear to be a way of saying in DCAT that each member of the dataset may be accessed by conneg-by-ap - this applies to the identifier of the dataset as a whole. Possibly this could be expressed in VoiD as a void:technicalFeature using a "well known" feature, or alternatively by a profile of conneg-by-ap?

@nicholascar
Copy link
Contributor Author

I've implemented an example as above for the Media Types implementation: https://conneg.info/mediatypes?_format=text/turtle.

<https://conneg.info/mediatypes>
    a dcat:DataService ;
    dct:title "Media Types Web Service" ;
...
    # URIs for the all the Functional Profiles of Content Negotiation 
    # by Profile that this system is conformant with
    dct:conformsTo
        <http://www.w3.org/ns/dx/conneg/profile/http> ,
        <http://www.w3.org/ns/dx/conneg/profile/qsa> ,
        <http://www.w3.org/ns/dx/conneg/profile/qsa-alt> ,
        <http://www.w3.org/ns/dx/conneg/profile/rrd> ;
...
    dcat:endpointURL <https://conneg.info/mediatypes> ;
...

@nicholascar
Copy link
Contributor Author

Example added in a new appendix and merged as a result of PR #1147

Content Negotiation by Profile automation moved this from To do to Done Nov 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants