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

Extending DCAT for services #241

Merged
merged 62 commits into from
Jun 10, 2018
Merged

Extending DCAT for services #241

merged 62 commits into from
Jun 10, 2018

Conversation

dr-shorthair
Copy link
Contributor

@dr-shorthair dr-shorthair commented May 25, 2018

This PR implements the model shown in https://github.com/w3c/dxwg/blob/dcat-service-simon/dcat/UML/DCAT-summary.png as agreed in meeting of DCAT sub-group meeting 2018-05-25
https://www.w3.org/2018/05/24-dxwgdcat-minutes.html#ResolutionSummary

4 classes are added:

  • Resource
  • DataService
  • DistributionService
  • DiscoveryService

6 properties are added:

This extension to DCAT is intended to satisfy requirement #56 and the matters discussed in #172 #180 #181, as illustrated in #237

The text labels and definitions might need some tweaking as discussed, and also the global (domain/range) and local (Restriction) constraints.

The intention of this pull request is to get the backbone into the RDF representation and into the draft recommendation document, so that we can refer to it while discussing other issues, and to allow us to refine other aspects in context in due course.

Jaroslav Pullmann and others added 30 commits March 14, 2018 21:17
…=dctype:Service.

Add dcterms:conformsTo to recommended property list.
Tweak cardinalities.
2. remove props whose dcat domains have been relaxed so no longer needed
3. fix dct:type value for Catalog and DataService
# Conflicts:
#	dcat/images/Backbone.png
…se' into dcat-service-simon

# Conflicts:
#	ucr/index.html
2. List classes in alphabetical order
2. Move all deprecated classes and axioms into dcat2014 graph
3. Add proposed service classes and properties into dcat.ttl
# Conflicts:
#	dcat/index.html
@dr-shorthair dr-shorthair removed the request for review from pwin June 4, 2018 00:43
@pwin pwin self-requested a review June 4, 2018 11:13
@pwin
Copy link
Contributor

pwin commented Jun 4, 2018

Shouldn't endpointLocation be endpointURL as described by @andrea-perego in #237 ?
"location" suggests geospatial

Copy link
Contributor

@andrea-perego andrea-perego left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Together with @pwin , I would also prefer dcat:endpointURL, as reminds dcat:accessURL and makes it explicit the it should take as object a URI/URL and not a class instance.

I would also support the inclusion of a generic "Service" class (either by re-using dctype:Service or by defining a new class dcat:Service).

Said that, I'm fine with merging this PR and address these points later - we just need to create the relevant issues.

@dr-shorthair
Copy link
Contributor Author

  1. I'm OK calling it endpointURL provided that for all the properties *URL, they are corrected to owl:DatatypeProperty with range xsd:anyURI

  2. Service was renamed DataService following the discussion in the F2F - @kcoyle seemed to feel quite strongly about that, and also with @danbri in the room we wanted to be clear that we were talking about web- and data-oriented services not hairdressers.

Simon Cox added 4 commits June 5, 2018 14:50
dcat:endpointLocation --> dcat:endpointURL
Add dct:license and dct:accessRights per GeoDCAT-AP precedent
2. shuffle Issues to best locations in document, adjust narrative in a few places
3. Add description of DiscoveryService (stub)
# Conflicts:
#	dcat/images/qr.png
@andrea-perego
Copy link
Contributor

@dr-shorthair said:

  1. I'm OK calling it endpointURL provided that for all the properties *URL, they are corrected to owl:DatatypeProperty with range xsd:anyURI

I have to disagree here. It would break existing implementations, and I don't think we have any use cases supporting this revision. Moreover, having them as object properties would enable cross-linking of related resources (as services and distributions).

Using "URL" in the property name is consistent with similar DCAT properties (dcat:accessURL and dcat:downloadURL, which are object properties), and DCAT users will recognise the pattern. So, I don't see the need of requiring a term to be a datatype property just because it includes "URL" in its name.

  1. Service was renamed DataService following the discussion in the F2F - @kcoyle seemed to feel quite strongly about that, and also with @danbri in the room we wanted to be clear that we were talking about web- and data-oriented services not hairdressers.

I tend to agree that we should not allow any type of service, but I don't think we have currently a clear idea of what should be in or out.

An option, already discussed, and recently suggested by @pwin in his mail, is to say that the scope is limited to online (Web?) services. On the other hand, we have the example of the Core Public Service vocabulary, which is used to describe a (not necessarily online) service delivered by a public institution, and such descriptions are meant to be available in catalogues. I cannot find a strong case to say that we cannot use DCAT for describing these catalogues.

@dr-shorthair
Copy link
Contributor Author

dr-shorthair commented Jun 6, 2018

  1. I opened a separate issue to discuss the type and range of *URL properties Incorrect type for *URL properties - should be owl:DatatypeProperty with range xsd:anyURI #249 - let's have the conversation there. In this PR there are no changes to downloadURL or accessURL.

  2. DataService is probably the most conservative option for naming. Can we accept it for now and consider again later if more general services also need to be included?

Note I also moved all the classes and properties that were already marked 'deprecated' in DCAT-2014 into the RDF document dcat2014.ttl, where we are gathering all the axioms removed in the DCAT-rev process. That allows the dcat.ttl document to reflect the current state without any noise (most of the deprecated classes were related to services ...). They can be reinstated later if necessary.

I'm concerned that merging becomes difficult if we have too many branches open. This one covers what is likely to be the main refactor that we will make in this DCAT revision. It introduces the class dcat:Resource interpolated above dcat:Dataset, and also includes dcat:DataService and sub-classes, and a small number of new properties - dcat:service, dcat:catalog, dcat:endpointURL, dcat:endpointDescription, dcat:accessService and dcat:servesDataset. The overall shape of these has been accepted by the team, with the explicit understanding that we can and should tidy up details later. My view is that we need to move this material into the gh-branch now so that we can get community scrutiny of the editor's draft. Nothing is final until we publish a rec in a year or so, but it would be helpful to expose this material.

Simon Cox added 6 commits June 6, 2018 13:47
Fix dcat:Service --> dcat:DataService
Add dcat:keyword subpropertyof dct:subject (though as this was a bug in DCAT 2014 RDF, and not a revision, maybe it should be dropped entirely)
# Conflicts:
#	dcat/index.html
#	dcat/rdf/dcat.ttl
@dr-shorthair
Copy link
Contributor Author

Just spent another hour resolving conflicts through the various branches and merges.
I believe I have addressed all @andrea-perego comments now, and this should be a good basis for moving forward. Can we merge this into the gh-pages i.e. Editor's Draft.
I don't think the risks are great to expose this now - all details are still subject to potential revision, but the general shape reflects the agreement in Genova and the following telecon.
@davebrowning @pwin @agbeltran ?

Copy link
Member

@agbeltran agbeltran left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have gone through the changes and they seem ok to me and in line with the discussions. I will merge now - as always, the understanding is that more revisions could arise from further discussions.

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

Successfully merging this pull request may close these issues.

5 participants