DiSHACLed Dataset and Data Service Discovery

Living Document,

This version:
https://dishacled.github.io/discovery-specification/
Issue Tracking:
GitHub
Editor:
Julián Rojas

Abstract

This specification defines how a client can select a (set of) specific dataset(s) and/or data service(s) from a DCAT-AP data catalog, based on a given SHACL/SPARQL input.

1. Definitions

This specification reuses terminology from:

Dataset and Data Service are as defined in DCAT. Shape refers to a SHACL NodeShape that formally describes constraints over RDF data. Discovery refers to the process of identifying relevant datasets or services in a DCAT-based catalog given an input description (shape or query).

2. Extending DCAT(-AP) for shape-based discovery

This section defines how DCAT(-AP) resources can be extended to include references to data shapes that describe their content. The extensions are designed to be minimal and compatible with existing DCAT-AP profiles.

2.1. Linking DCAT Resources to data shapes

Here we enumerate different approaches to link a data shape to a DCAT Resource:

2.2. Describing DCAT Datasets

TODO

2.3. Describing DCAT Data Services {#describe-data-service}

TODO

3. Discovery logical flow

This section describes the logical steps that a client follows to perform a discovery process.

3.1. Initializing a client with a url

TODO

3.2. Selecting a dataset via shapes

TODO

3.3. Selecting a data service via shapes

TODO

3.4. Selecting a dataset via queries

TODO

3.5. Selecting a data service via queries

TODO

4. Algorithm specification

TODO

Conformance

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this:

This is an example of an informative example.

Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this:

Note, this is an informative note.

References

Normative References

[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119