From fa9948513a054e238530a0581955132560bef7ae Mon Sep 17 00:00:00 2001 From: David Browning <33936348+davebrowning@users.noreply.github.com> Date: Tue, 25 Sep 2018 10:36:43 +0200 Subject: [PATCH] Revert "Formatting, colour, CSS" --- dcat/index.html | 748 +++++++++++++++++++++++------------------------- 1 file changed, 354 insertions(+), 394 deletions(-) diff --git a/dcat/index.html b/dcat/index.html index e5fdb5b9f..acb57283c 100644 --- a/dcat/index.html +++ b/dcat/index.html @@ -189,7 +189,7 @@

Vocabulary overview

RDF allows resources to have global identifiers (IRIs) or to be blank nodes. Blank nodes can be used to denote resources without explicitly naming them with an IRI. They can appear in the subject and object position of a triple [[rdf11-primer]]. -While blank nodes may offer flexibility for some use cases, in a Linked Data context, blank nodes limit our ability to collaboratively annotate data. A blank node resource cannot be the target of a link and it can't be annotated with new information from new sources. As one of the biggest benefits of the Linked Data approach is that "anyone can say anything anywhere", use of blank nodes undermines some of the advantages we can gain from wide adoption of the RDF model. Even within the closed world of a single application dataset, use of blank nodes can quickly become limiting when integrating new data [[LinkedDataPatterns]]. +While blank nodes may offer flexibility for some use cases, in a Linked Data context, blank nodes limit our ability to collaboratively annotate data. A blank node resource cannot be the target of a link and it can't be annotated with new information from new sources. As one of the biggest benefits of the Linked Data approach is that "anyone can say anything anywhere", use of blank nodes undermines some of the advantages we can gain from wide adoption of the RDF model. Even within the closed world of a single application dataset, use of blank nodes can quickly become limiting when integrating new data [[LinkedDataPatterns]]. For these reasons, instances of the DCAT main classes SHOULD have a global identifier, and use of blank nodes is generally discouraged when encoding DCAT in RDF.

All RDF examples in this document are written in Turtle syntax [[Turtle]] and many are available from the DXWG code repository.

@@ -201,47 +201,41 @@

Basic Example

First, the catalog description:

-
-
-:catalog
-  a dcat:Catalog ;
-  dct:title "Imaginary Catalog" ;
-  rdfs:label "Imaginary Catalog" ;
-  foaf:homepage <http://example.org/catalog> ;
-  dct:publisher :transparency-office ;
-  dct:language <http://id.loc.gov/vocabulary/iso639-1/en>  ;
-  dcat:dataset :dataset-001  , :dataset-002 , :dataset-003 ;
-  .
-
+
   :catalog
+       a dcat:Catalog ;
+       dct:title "Imaginary Catalog" ;
+       rdfs:label "Imaginary Catalog" ;
+       foaf:homepage <http://example.org/catalog> ;
+       dct:publisher :transparency-office ;
+       dct:language <http://id.loc.gov/vocabulary/iso639-1/en>  ;
+       dcat:dataset :dataset-001  , :dataset-002 , :dataset-003 ;
+       .
+

The publisher of the catalog has the relative URI :transparency-office. Further description of the publisher can be provided as in the following example:

-
-
-:transparency-office
-  a foaf:Organization ;
-  rdfs:label "Transparency Office" ;
-  .
-
+
   :transparency-office
+       a foaf:Organization ;
+       rdfs:label "Transparency Office" ;
+       .
+

The catalog lists each of its datasets via the dcat:dataset property. In the example above, an example dataset was mentioned with the relative URI :dataset-001. A possible description of it using DCAT is shown below:

-
-
-:dataset-001
-  a dcat:Dataset ;
-  dct:title "Imaginary dataset" ;
-  dcat:keyword "accountability","transparency" ,"payments" ;
-  dct:creator :finance-employee-001 ;
-  dct:issued "2011-12-05"^^xsd:date ;
-  dct:modified "2011-12-05"^^xsd:date ;
-  dcat:contactPoint <http://example.org/transparency-office/contact> ;
-  dct:temporal <http://reference.data.gov.uk/id/quarter/2006-Q1> ;
-  dct:spatial <http://www.geonames.org/6695072> ;
-  dct:publisher :finance-ministry ;
-  dct:language <http://id.loc.gov/vocabulary/iso639-1/en>  ;
-  dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-W>  ;
-  dcat:distribution :dataset-001-csv ;
-  .
-
+
   :dataset-001
+       a dcat:Dataset ;
+       dct:title "Imaginary dataset" ;
+       dcat:keyword "accountability","transparency" ,"payments" ;
+	   dct:creator :finance-employee-001 ;
+       dct:issued "2011-12-05"^^xsd:date ;
+       dct:modified "2011-12-05"^^xsd:date ;
+       dcat:contactPoint <http://example.org/transparency-office/contact> ;
+       dct:temporal <http://reference.data.gov.uk/id/quarter/2006-Q1> ;
+       dct:spatial <http://www.geonames.org/6695072> ;
+       dct:publisher :finance-ministry ;
+       dct:language <http://id.loc.gov/vocabulary/iso639-1/en>  ;
+       dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-W>  ;
+       dcat:distribution :dataset-001-csv ;
+       .
+

In order to express the frequency of update in the example above, we chose to use an instance from the Content-Oriented Guidelines developed as part of the W3C Data Cube Vocabulary [[VOCAB-DATA-CUBE]] efforts. Additionally, we chose to describe the spatial and temporal coverage of the example dataset using URIs from Geonames and the Interval dataset (originally available from http://reference.data.gov.uk/id/interval) from data.gov.uk, respectively. A contact point is also provided where comments and feedback about the dataset can be sent. Further details about the contact point, such as email address or telephone number, can be provided using vCard [[VCARD-RDF]].

@@ -249,44 +243,40 @@

Basic Example

The dataset distribution :dataset-001-csv can be downloaded as a 5Kb CSV file. This information is represented via an RDF resource of type dcat:Distribution.

-
-
-:dataset-001-csv
-  a dcat:Distribution ;
-  dcat:downloadURL <http://www.example.org/files/001.csv> ;
-  dct:title "CSV distribution of imaginary dataset 001" ;
-  dcat:mediaType <https://www.iana.org/assignments/media-types/text/csv> ;
-  dcat:byteSize "5120"^^xsd:decimal ;
-  .
-
+
   :dataset-001-csv
+       a dcat:Distribution ;
+       dcat:downloadURL <http://www.example.org/files/001.csv> ;
+       dct:title "CSV distribution of imaginary dataset 001" ;
+       dcat:mediaType <https://www.iana.org/assignments/media-types/text/csv> ;
+       dcat:byteSize "5120"^^xsd:decimal ;
+       .
+

Classifying datasets thematically

The catalog classifies its datasets according to a set of domains represented by the relative URI :themes. SKOS can be used to describe the domains used:

-
-
-:catalog dcat:themeTaxonomy :themes .
+
   :catalog dcat:themeTaxonomy :themes .
+
-:themes - a skos:ConceptScheme ; - skos:prefLabel "A set of domains to classify documents" ; - . +
   :themes
+       a skos:ConceptScheme ;
+       skos:prefLabel "A set of domains to classify documents" ;
+       .
+
-:dataset-001 dcat:theme :accountability  . -
+
   :dataset-001 dcat:theme :accountability  .
+

Notice that this dataset is classified under the domain represented by the relative URI :accountability. It is recommended to define the concept as part of the concepts scheme identified by the URI :themes that was used to describe the catalog domains. An example SKOS description:

-
-
-:accountability
-  a skos:Concept ;
-  skos:inScheme :themes ;
-  skos:prefLabel "Accountability" ;
-  .
-
+
   :accountability
+       a skos:Concept ;
+       skos:inScheme :themes ;
+       skos:prefLabel "Accountability" ;
+       .
+
@@ -299,41 +289,39 @@

Classifying dataset types

In the following examples a (notional) dataset is classified separately using a values from different vocabularies.

-
-
+
 :dataset-001
-  rdf:type  dcat:Dataset ;
-  dct:type  <http://purl.org/dc/dcmitype/Text> ;
-  .
+	rdf:type	dcat:Dataset ;
+	dct:type	<http://purl.org/dc/dcmitype/Text> ;
+	.
 
 :dataset-001
-  rdf:type  dcat:Dataset ;
-  dct:type  <http://id.loc.gov/vocabulary/marcgt/man> ;
-  .
-
+ rdf:type dcat:Dataset ; + dct:type <http://id.loc.gov/vocabulary/marcgt/man> ; + . +

It is also possible for multiple classifications to be present in a single description.

-
-
+
 :dataset-001
-  rdf:type  dcat:Dataset ;
-  dct:type  <http://purl.org/dc/dcmitype/Text> ;
-  dct:type  <http://id.loc.gov/vocabulary/marcgt/man> ;
-  dct:type  <http://registry.it.csiro.au/def/datacite/resourceType/Text> ;
-  dct:type  <http://registry.it.csiro.au/def/re3data/contentType/doc> ;
+	rdf:type	dcat:Dataset ;
+	dct:type	<http://purl.org/dc/dcmitype/Text> ;
+	dct:type	<http://id.loc.gov/vocabulary/marcgt/man> ;
+	dct:type	<http://registry.it.csiro.au/def/datacite/resourceType/Text> ;
+	dct:type	<http://registry.it.csiro.au/def/re3data/contentType/doc> ;
 .
 
 <http://registry.it.csiro.au/def/datacite/resourceType/Text>
-  rdfs:label "Text" ;
-  dct:source "DataCite resource types" ;
-  .
+	rdfs:label "Text" ;
+	dct:source "DataCite resource types" ;
+	.
 
 <http://registry.it.csiro.au/def/re3data/contentType/doc>
-  rdfs:label "Standard office documents" ;
-  dct:source "Re3data content types" ;
-  .
-
+ rdfs:label "Standard office documents" ; + dct:source "Re3data content types" ; + . +
@@ -344,16 +332,15 @@

Describing catalog records metadata

describing the datasets), dcat:CatalogRecord can be used. For example, while  :dataset-001 was issued on 2011-12-05, its description on Imaginary Catalog was added on 2011-12-11. This can be represented by DCAT as in the following:

-
-
-:catalog  dcat:record :record-001  .
+
   :catalog  dcat:record :record-001  .
+
-:record-001 - a dcat:CatalogRecord ; - foaf:primaryTopic :dataset-001 ; - dct:issued "2011-12-11"^^xsd:date ; - . -
+
   :record-001
+       a dcat:CatalogRecord ;
+       foaf:primaryTopic :dataset-001 ;
+       dct:issued "2011-12-11"^^xsd:date ;
+       .
+
@@ -362,19 +349,17 @@

Dataset available only behind some Web page

where the user needs to follow some links, provide some information and check some boxes before accessing the data

-
-
-:dataset-002
-  a dcat:Dataset ;
-  dcat:landingPage <http://example.org/dataset-002.html> ;
-  dcat:distribution :dataset-002-csv ;
-  .
-:dataset-002-csv
-  a dcat:Distribution ;
-  dcat:accessURL <http://example.org/dataset-002.html> ;
-  dcat:mediaType <https://www.iana.org/assignments/media-types/text/csv> ;
-  .
-
+
   :dataset-002
+       a dcat:Dataset ;
+       dcat:landingPage <http://example.org/dataset-002.html> ;
+       dcat:distribution :dataset-002-csv ;
+       .
+   :dataset-002-csv
+       a dcat:Distribution ;
+       dcat:accessURL <http://example.org/dataset-002.html> ;
+       dcat:mediaType <https://www.iana.org/assignments/media-types/text/csv> ;
+       .
+
Notice the use of a dcat:landingPage and the definition of the dcat:Distribution instance.
@@ -383,19 +368,17 @@

Dataset available only behind some Web page

A dataset available as a download and behind some Web page

On the other hand, :dataset-003 can be obtained through some landing page but also can be downloaded from a known URL.

-
-
-:dataset-003
-  a dcat:Dataset ;
-  dcat:landingPage <http://example.org/dataset-003.html> ;
-  dcat:distribution :dataset-003-csv ;
-  .
-:dataset-003-csv
-  a dcat:Distribution ;
-  dcat:downloadURL <http://example.org/dataset-003.csv> ;
-  dcat:mediaType <https://www.iana.org/assignments/media-types/text/csv> ;
-  .
-
+
   :dataset-003
+       a dcat:Dataset ;
+       dcat:landingPage <http://example.org/dataset-003.html> ;
+       dcat:distribution :dataset-003-csv ;
+       .
+   :dataset-003-csv
+       a dcat:Distribution ;
+       dcat:downloadURL <http://example.org/dataset-003.csv> ;
+       dcat:mediaType <https://www.iana.org/assignments/media-types/text/csv> ;
+       .
+
Notice that we used dcat:downloadURL with the downloadable distribution and that the other distribution accessible through the landing page does not have to be defined as a separate dcat:Distribution instance. @@ -413,61 +396,59 @@

Loosely structured catalog

If the nature of the relationships between a dataset and component resources in a catalogue, repository, or elsewhere are not known, dct:relation can be used:

-
-
+	
 :d33937
-  dct:description "A set of RDF graphs representing the International [Chrono]stratigraphic Chart, ..." ;
-  dct:identifier "https://doi.org/10.25919/5b4d2b83cbf2d"^^xsd:anyURI ;
-  dct:creator <https://orcid.org/0000-0002-3884-3420>;
-  dct:relation <https://vocabs.ands.org.au/viewById/196> ;
-  dct:relation :ChronostratChart2017-02.pdf  ;
-  dct:relation :ChronostratChart2017-02.jpg ;
-  dct:relation :timescale.zip ;
-  dct:relation :isc2017.jsonld ;
-  dct:relation :isc2017.nt ;
-  dct:relation :isc2017.rdf ;
-  dct:relation :isc2017.ttl ;
-  .
-  
+ dct:description "A set of RDF graphs representing the International [Chrono]stratigraphic Chart, ..." ; + dct:identifier "https://doi.org/10.25919/5b4d2b83cbf2d"^^xsd:anyURI ; + dct:creator <https://orcid.org/0000-0002-3884-3420>; + dct:relation <https://vocabs.ands.org.au/viewById/196> ; + dct:relation :ChronostratChart2017-02.pdf ; + dct:relation :ChronostratChart2017-02.jpg ; + dct:relation :timescale.zip ; + dct:relation :isc2017.jsonld ; + dct:relation :isc2017.nt ; + dct:relation :isc2017.rdf ; + dct:relation :isc2017.ttl ; + . +

If it is clear that any of these related resources is a proper representation of the dataset, dcat:distribution should be used.

-
-
+	
 :d33937
-  rdf:type dcat:Dataset ;
-  dct:description "A set of RDF graphs representing the International [Chrono]stratigraphic Chart, ..." ;
-  dct:identifier "https://doi.org/10.25919/5b4d2b83cbf2d"^^xsd:anyURI ;
-  dct:relation <https://vocabs.ands.org.au/viewById/196> ;
-  dct:relation :ChronostratChart2017-02.pdf  ;
-  dct:relation :ChronostratChart2017-02.jpg ;
-  dct:relation :timescale.zip ;
-  dcat:distribution :d33937-jsonld ;
-  dcat:distribution :d33937-nt ;
-  dcat:distribution :d33937-rdf ;
-  dcat:distribution :d33937-ttl ;
-  .
-:d33937-jsonld  rdf:type dcat:Distribution ;
-  dcat:downloadURL :isc2017.jsonld ;
-  dcat:byteSize "698039"^^xsd:decimal ;
-  dcat:mediaType <https://www.iana.org/assignments/media-types/application/ld+json> ;
-  .
-:d33937-nt  rdf:type dcat:Distribution ;
-  dcat:downloadURL :isc2017.nt ;
-  dcat:byteSize "2047874"^^xsd:decimal ;
-  dcat:mediaType <https://www.iana.org/assignments/media-types/application/n-triples> ;
-  .
-:d33937-rdf  rdf:type dcat:Distribution ;
-  dcat:downloadURL :isc2017.rdf ;
-  dcat:byteSize "1600569"^^xsd:decimal ;
-  dcat:mediaType <https://www.iana.org/assignments/media-types/application/rdf+xml> ;
-  .
-:d33937-ttl  rdf:type dcat:Distribution ;
-  dcat:downloadURL :isc2017.ttl ;
-  dcat:byteSize "531703"^^xsd:decimal ;
-  dcat:mediaType <https://www.iana.org/assignments/media-types/text/turtle> ;
-  .
-	
+ rdf:type dcat:Dataset ; + dct:description "A set of RDF graphs representing the International [Chrono]stratigraphic Chart, ..." ; + dct:identifier "https://doi.org/10.25919/5b4d2b83cbf2d"^^xsd:anyURI ; + dct:relation <https://vocabs.ands.org.au/viewById/196> ; + dct:relation :ChronostratChart2017-02.pdf ; + dct:relation :ChronostratChart2017-02.jpg ; + dct:relation :timescale.zip ; + dcat:distribution :d33937-jsonld ; + dcat:distribution :d33937-nt ; + dcat:distribution :d33937-rdf ; + dcat:distribution :d33937-ttl ; + . +:d33937-jsonld rdf:type dcat:Distribution ; + dcat:downloadURL :isc2017.jsonld ; + dcat:byteSize "698039"^^xsd:decimal ; + dcat:mediaType <https://www.iana.org/assignments/media-types/application/ld+json> ; + . +:d33937-nt rdf:type dcat:Distribution ; + dcat:downloadURL :isc2017.nt ; + dcat:byteSize "2047874"^^xsd:decimal ; + dcat:mediaType <https://www.iana.org/assignments/media-types/application/n-triples> ; + . +:d33937-rdf rdf:type dcat:Distribution ; + dcat:downloadURL :isc2017.rdf ; + dcat:byteSize "1600569"^^xsd:decimal ; + dcat:mediaType <https://www.iana.org/assignments/media-types/application/rdf+xml> ; + . +:d33937-ttl rdf:type dcat:Distribution ; + dcat:downloadURL :isc2017.ttl ; + dcat:byteSize "531703"^^xsd:decimal ; + dcat:mediaType <https://www.iana.org/assignments/media-types/text/turtle> ; + . +

This example is available from the DXWG code repository at csiro-dap-examples.ttl

@@ -481,8 +462,7 @@

Dataset provenance

For example, a simple link from a dataset description to the project that generated the dataset can be formalized as follows (other details elided for clarity):

-
-
+	
 dap:atnf-P366-2003SEPT
   rdf:type dcat:Dataset ;
   dct:bibliographicCitation "Burgay, M; McLaughlin, M; Kramer, M; Lyne, A; Joshi, B; Pearce, G; D'Amico, N; Possenti, A; Manchester, R; Camilo, F (2017): Parkes observations for project P366 semester 2003SEPT. v1. CSIRO. Data Collection. https://doi.org/10.4225/08/598dc08d07bb7" ;
@@ -500,7 +480,7 @@ 

Dataset provenance

rdfs:label "P366 - Parkes multibeam high-latitude pulsar survey" ; rdfs:seeAlso <https://doi.org/10.1111/j.1365-2966.2006.10100.x> ; . -
+

This example is available from the DXWG code repository at csiro-dap-examples.ttl

@@ -539,8 +519,7 @@

Data services

This example is available from the DXWG code repository at eea-csw.ttl

-
-
+	
 a:EEA-CSW-Endpoint
   rdf:type dcat:DiscoveryService ;
   dc:subject "infoCatalogueService"@en ;
@@ -562,7 +541,7 @@ 

Data services

dcat:endpointDescription <https://sdi.eea.europa.eu/catalogue/srv/eng/csw?service=CSW&request=GetCapabilities> ; dcat:endpointURL <http://sdi.eea.europa.eu/catalogue/srv/eng/csw> ; . -
+

The next example shows a dataset hosted by Geoscience Australia, which is available from three distinct services, as indicated by the value of the dcat:servesDataset property of each of the service descriptions. These are classified as a dcat:DataDistributionService and also have the dct:type set to download and view from the INSPIRE classification of spatial data service types. @@ -570,8 +549,7 @@

Data services

This example is available from the DXWG code repository at ga-courts.ttl

-
-
+	
 ga-courts:jc
   rdf:type dcat:Dataset ;
   dct:description "The dataset contains spatial locations, in point format, of the Australian High Court, Australian Federal Courts and the Australian Magistrates Courts." ;
@@ -598,9 +576,9 @@ 

Data services

. ga-courts:jc-wfs rdf:type dcat:DataDistributionService ; - dct:conformsTo <http://www.opengis.net/def/serviceType/ogc/wfs/2.0.0> ; - dct:conformsTo <http://www.opengis.net/def/serviceType/ogc/wfs/1.1.0> ; - dct:conformsTo <http://www.opengis.net/def/serviceType/ogc/wfs/1.0.0> ; + dct:conformsTo <http://www.opengis.net/def/serviceType/ogc/wfs/2.0.0> ; + dct:conformsTo <http://www.opengis.net/def/serviceType/ogc/wfs/1.1.0> ; + dct:conformsTo <http://www.opengis.net/def/serviceType/ogc/wfs/1.0.0> ; dct:description "This web service provides access to the National Judicial Courts dataset and presents the spatial locations of all the known Australian High Courts, Australian Federal Courts and the Australian Federal Circuit Courts located within Australia, all complemented with feature attribution." ; dct:identifier "2b8540c8-4a42-144d-e053-12a3070a3ff7" ; dct:title "National Judicial Courts WFS" ; @@ -624,7 +602,7 @@

Data services

dcat:landingPage <https://ecat.ga.gov.au/geonetwork/srv/eng/catalog.search#/metadata/2b8540c8-4a41-144d-e053-12a3070a3ff7> ; dcat:servesDataset ga-courts:jc ; . -
+ @@ -632,7 +610,7 @@

Data services

More examples needed

- This section will contain more examples on the use of DCAT. + This section will contain more examples on the use of DCAT.

@@ -697,7 +675,7 @@

Dependencies

The definitions (including domain and range) of terms outside the DCAT namespace are provided here only for convenience and MUST NOT be considered normative. The authoritative definitions of these terms are in the corresponding specifications: [[!DC11]], [[!DCTERMS]], [[!FOAF]], [[!RDF-SCHEMA]], [[!SKOS-REFERENCE]], [[!XMLSCHEMA11-2]] and [[!VCARD-RDF]].

- +

Class: Catalog

The following properties are recommended for use on this class: @@ -884,7 +862,7 @@

Property: rights

Models for the kind of license or rights representation indicated by the dct:license and dct:rights property are being considered as part of the revision of DCAT. See also License and rights statements.

- + @@ -1014,7 +992,7 @@

Class: Catalogued Resource

The need to be able to describe the business or project context related to production of a catalogued resource has been identified as a requirement to be satisfied in the revision of DCAT.

- -
+

Class: Discovery Service

In addition to the properties inherited from the super-class dcat:DataDistributionService, the following properties are recommended for use on this class: none yet

@@ -1796,7 +1774,7 @@

Class: Distribution

The definition text of dcat:Distribution has been revised to clarify that distributions are primarily representations of datasets. As such, all distributions of a given dataset should be informationally equivalent.

- +

Property: title

RDF Property:dct:rights
@@ -1853,7 +1831,7 @@

Property: license

Models for the kind of license or rights representation indicated by the dct:license and dct:rights property are being considered as part of the revision of DCAT. See also License and rights statements.

- +
@@ -2064,7 +2042,7 @@

Class: Organization/Person

Quality information

-

This section is not-normative as it provides guidance on how to document the quality of DCAT first class entities (e.g., datasets, distributions) and it does not define new DCAT terms. The guidance relies on the Data Quality Vocabulary(DQV)[[vocab-dqv]], which is a W3C Group Note.

+

This section is not-normative as it provides guidance on how to document the quality of DCAT first class entities (e.g., datasets, distributions) and it does not define new DCAT terms. The guidance relies on the Data Quality Vocabulary(DQV)[[vocab-dqv]], which is a W3C Group Note.

The Data Quality Vocabulary (DQV) offers common modelling patterns for different aspects of Data Quality. @@ -2096,9 +2074,7 @@

Providing quality information

A data consumer (:consumer1) describes the quality of the dataset :genoaBusStopsDataset that includes a georeferenced list of bus stops in Genoa. He/she annotates the dataset with a DQV quality note (:genoaBusStopsDatasetCompletenessNote) about data completeness (ldqd:completeness) to warn that the dataset includes only 20500 out of the 30000 stops.

-
-
-:genoaBusStopsDataset a dcat:Dataset ;
+    
:genoaBusStopsDataset a dcat:Dataset ;
     dqv:hasQualityAnnotation :genoaBusStopsDatasetCompletenessNote .
 
 :genoaBusStopsDatasetCompletenessNote
@@ -2116,13 +2092,11 @@ 

Providing quality information

dc:language "en" ; dc:format "text/plain" . -
+

The activity :myQualityChecking employs the service :myQualityChecker to check the quality of the :genoaBusStopsDataset dataset. The metric :completenessWRTExpectedNumberOfEntities is applied to measure the dataset completeness (ldqd:completeness) and it results in the quality measurement :genoaBusStopsDatasetCompletenessMeasurement.

-
-
-:genoaBusStopsDataset
+    
:genoaBusStopsDataset
     dqv:hasQualityMeasurement :genoaBusStopsDatasetCompletenessMeasurement .
 
 :genoaBusStopsDatasetCompletenessMeasurement
@@ -2157,7 +2131,7 @@ 

Providing quality information

prov:generated :genoaBusStopsDatasetCompletenessMeasurement; prov:endedAtTime "2018-05-27T02:52:02Z"^^xsd:dateTime; prov:startedAtTime "2018-05-27T00:52:02Z"^^xsd:dateTime . -
+ Other examples of quality documentation are available in the W3C Group Note DQV [[vocab-dqv]], including examples about how express dataset accuracy and precision.
@@ -2166,42 +2140,38 @@

Documenting conformance to standards

The issue suggests to represent "the degree a dataset conforms to a stated quality standard" and "the details of data quality conformance test results". This section is a starter to deal with the above requests by relying on the existing W3C vocabularies. Comments and suggestions about the following examples as well as the proposal of alternative patterns are more than welcome.

-

This subsection shows different modelling patterns combining DQV [[vocab-dqv]] with PROV [[PROV-O]] and EARL [[EARL10-Schema]] to represent the conformance degree to a stated quality standard and the details about the conformance tests. +

This subsection shows different modelling patterns combining DQV [[vocab-dqv]] with PROV [[PROV-O]] and EARL [[EARL10-Schema]] to represent the conformance degree to a stated quality standard and the details about the conformance tests.

- -
+ +

Conformance to a standard

The use of dct:conformsTo and dct:Standard is a well-known pattern to represent the conformance to a standard. The following example declares a fictional a:Dataset conformant to the "Commission Regulation (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC".

-
-
-
+
       
 a:Dataset a dcat:Dataset;
-    dct:conformsTo <http://data.europa.eu/eli/reg/2014/1312/oj> .
+    dct:conformsTo <http://data.europa.eu/eli/reg/2014/1312/oj> .  
 
 # Reference standard / specification
 <http://data.europa.eu/eli/reg/2014/1312/oj> a dct:Standard ;
     dct:title "Commission Regulation (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services"@en
     dct:issued "2010-11-23"^^xsd:date .
-
-
-
+ +
+

Degree of conformance

-

Some legal context requires to specify the degree of conformance. For example, INSPIRE metadata adopts a specific controlled vocabulary to express non-conformance and non-evaluation beside the full compliance. As suggested in [[geodcat-ap]], the following example specifies the degree of conformance (i.e., not conformant) by declaring the dct:type for the result of conformance test. [[geodcat-ap]] suggests to use a PROV entity to model the conformance test (e.g., a:TestResult), a PROV activity to model the testing activity (e,g., a:TestingActivity), a PROV plan derived by the INSPIRE Directive to represent conformance test (e.g., a:ConformanceTest). A qualified PROV association binds the testing activity to the conformance test. -

-
-
-
-a:Dataset a dcat:Dataset ;
+     

Some legal context requires to specify the degree of conformance. For example, INSPIRE metadata adopts a specific controlled vocabulary to express non-conformance and non-evaluation beside the full compliance. As suggested in [[geodcat-ap]], the following example specifies the degree of conformance (i.e., not conformant) by declaring the dct:type for the result of conformance test. [[geodcat-ap]] suggests to use a PROV entity to model the conformance test (e.g., a:TestResult), a PROV activity to model the testing activity (e,g., a:TestingActivity), a PROV plan derived by the INSPIRE Directive to represent conformance test (e.g., a:ConformanceTest). A qualified PROV association binds the testing activity to the conformance test. +

+
+a:Dataset a dcat:Dataset ; 
     prov:wasUsedBy a:TestingActivity .
 
 a:TestingActivity a prov:Activity ;
       prov:generated a:TestResult ;
-      prov:qualifiedAssociation [
+      prov:qualifiedAssociation [ 
           a prov:Association ;
-        # http://validator.example.org/ is the agent who did the test.
-        prov:agent  <http://validator.example.org/>
-        #following the plan  a:ConformanceTest
-        prov:hadPlan a:ConformanceTest
+        # http://validator.example.org/ is the agent who did the test.         
+        prov:agent  <http://validator.example.org/> 
+        #following the plan  a:ConformanceTest 
+        prov:hadPlan a:ConformanceTest 
         ] .
 
 # Conformance test result
@@ -2211,11 +2181,9 @@ 

Degree of conformance

a:ConformanceTest a prov:Plan ; # Here you can specify additional information on the test prov:wasDerivedFrom <http://data.europa.eu/eli/reg/2014/1312/oj> . -
-

Also, DQV [[vocab-dqv]] can be deployed to measure the compliance to a specific standard. In the following, the :levelOfComplianceToINSPIRE is a quality metrics which measures the compliance of a dataset to INSPIRE in terms of the percentage of passed compliance tests. The example assumes iso as a namespace representing the quality dimensions and categories defined in the ISO/IEC 25012.

-
-
-
+    
+

Also, DQV [[vocab-dqv]] can be deployed to measure the compliance to a specific standard. In the following, the :levelOfComplianceToINSPIRE is a quality metrics which measures the compliance of a dataset to INSPIRE in terms of the percentage of passed compliance tests. The example assumes iso as a namespace representing the quality dimensions and categories defined in the ISO/IEC 25012.

+
 :levelOfComplianceToINSPIRE
     a dqv:Metric ;
     skos:definition "It returns the degree of compliance to INSPIRE defined as the percentage of passed compleance tests."@en
@@ -2230,50 +2198,46 @@ 

Degree of conformance

. iso:inherentandSystemDependentDataQuality a dqv:Category ; - skos:prefLabel "Inherent and System-Dependent Data Quality"@en. -
+ skos:prefLabel "Inherent and System-Dependent Data Quality"@en. +

The quality measurement :measurement_complianceToINSPIRE represents the level of compliance for a dataset a:Dataset, namely, measurement of the metric :levelOfComplianceToINSPIRE. If only a part of the compliance tests succeeds (e.g. half of the compliance tests), the measurement would look like in the following:

-
-
-
-:measurement_complianceToINSPIRE
+     
+:measurement_complianceToINSPIRE 
    a         dqv:QualityMeasurement;
    dqv:computedOn      a:Dataset;
    dqv:value           "50"^^xsd:double ;
    sdmx-attribute:unitMeasure <http://www.wurvoc.org/vocabularies/om-1.8/Percentage>
    dcterms:date      "2018-01-10"^^xsd:date ;
    dqv:isMeasurementOf    :levelOfComplianceToINSPIRE .
-    
- -
-
+ + +
+

Conformance test results

-

Further information about the tests can be provided using EARL [[EARL10-Schema]]. EARL provides specific classes to describe the testing activity, which can be adopted in conjunction with PROV. -The following example describes the Testing activity a:TestingActivity as an EARL Assertion instead of a qualified association on the PROV activity. The EARL Assertion states the dataset a:Dataset has been tested with the conformance test a:ConformanceTest, and it has passed the test as described in a:testResult. -

-
-
-
+    

Further information about the tests can be provided using EARL [[EARL10-Schema]]. EARL provides specific classes to describe the testing activity, which can be adopted in conjunction with PROV. +The following example describes the Testing activity a:TestingActivity as an EARL Assertion instead of a qualified association on the PROV activity. The EARL Assertion states the dataset a:Dataset has been tested with the conformance test a:ConformanceTest, and it has passed the test as described in a:testResult. +

+
 a:assertion a earl:Assertion;
     earl:subject a:Dataset;
     earl:test a:ConformanceTest;
     earl:result a:testResult ;
-    # let's indicate if the test was manual, automatic, or what ..
+    # let's indicate if the test was manual, automatic, or what ..     
     earl:mode earl:automatic ;
     earl:assertedBy <http://validator.example.org/> ;
-    prov:wasAttributedTo  <http://validator.example.org/>.
+    prov:wasAttributedTo  <http://validator.example.org/>.   
 
 a:ConformanceTest a earl:TestRequirement, prov:Plan;
          dct:title "Set of conformance test derived by the Commission Regulation (EU) No 1089/2010 of 23 November 2010 implementing  Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services"@en";
          # it includes different subtests
          dct:hasPart a:test1, a:test2, ...,  a:testn.
          #It is derived  by the reference standard
-         prov:wasDerivedFrom  <http://data.europa.eu/eli/reg/2014/1312/oj>.
+         prov:wasDerivedFrom  <http://data.europa.eu/eli/reg/2014/1312/oj>.  
 
 a:testResult a earl:TestResult;
         #  results in conformancy.
         dcterms:type  <http://inspire.ec.europa.eu/metadata-codelist/DegreeOfConformity/conformant>;
-        #the overall set of tests have been passed
+        #the overall set of tests have been passed 
         earl:outcome earl:passed .
         ];
 
@@ -2287,29 +2251,27 @@ 

Conformance test results

prov:generated a:TestAssertion, a:TestResult; prov:use a:Dataset ; prov:wasAssociatedWith <http://validator.example.org/> . -
+

The following example shows how the description would have looked like if the subtest a:testq1 had failed. In particular, dcterms:description and earl:info provide additional warnings or error messages in a human-readable form.

-
-
-
+    
 a:assertion1 a earl:Assertion ;
     earl:subject a:Dataset ;
     earl:test a:testq1 ;
-    earl:result [
+    earl:result [ 
         a earl:TestResult;
-        #  results in no conformancy.
+        #  results in no conformancy. 
         dcterms:type  <http://inspire.ec.europa.eu/metadata-codelist/DegreeOfConformity/notConformant>
-        #the overall set of tests have not been passed (!?)
+        #the overall set of tests have not been passed (!?) 
         dcterms:date "2015-09-29T11:50:00+00:00"^^xsd:dateTime ;
         # Some XML encoding of the error
             dcterms:description """
                  <ul xmlns="http://www.w3.org/1999/xhtml">
                  <li> test 1 has failed. Some description of the errors found</li>
                  </ul>"^^rdf:XMLLiteral;
-            earl:info """"
-                <test-method duration-ms="47" finished-at="2015-09-29T11:50:00Z"
+            earl:info """" 
+                <test-method duration-ms="47" finished-at="2015-09-29T11:50:00Z"  
                 name="validate" signature="validate()" started-at="2015-09-29T11:50:00Z"
-                status="FAIL">
+                status="FAIL"> 
                 <exception class="java.lang.AssertionError">
                     <message>
                      Total validation errors found: 2
@@ -2318,24 +2280,22 @@ 

Conformance test results

</test-method>"""^^rdf:XMLLiteral; earl:outcome earl:fail . ]; - # we do not know if the test was manual, automatic, or what .. - earl:mode earl:automatic. -
-Depending on the details required about tests, DQV can express the testing activity and errors as well. In the following, :error is a quality annotation that represents the previous error, and a:testResult is defined as a DQV quality metadata to collect the above annotations and the compliance measurements providing provenance information. -
-
-
-:error
+    # we do not know if the test was manual, automatic, or what ..     
+    earl:mode earl:automatic.   
+    
+Depending on the details required about tests, DQV can express the testing activity and errors as well. In the following, :error is a quality annotation that represents the previous error, and a:testResult is defined as a DQV quality metadata to collect the above annotations and the compliance measurements providing provenance information. +
+:error  
     a dqv:QualityAnnotation ;
     #this annotation is derived by the measurement
     prov:wasGeneratedBy  a:TestingActivity;
     oa:hasTarget a:Dataset ;
     oa:hasBody [
-        #errors/failed test description
+        #errors/failed test description 
           a  oa:TextualBody;
-          rdf:value  """<test-method duration-ms="47" finished-at="2015-09-29T11:50:00Z"
+          rdf:value  """<test-method duration-ms="47" finished-at="2015-09-29T11:50:00Z"  
                 name="validate" signature="validate()" started-at="2015-09-29T11:50:00Z"
-                status="FAIL">
+                status="FAIL"> 
                 <exception class="java.lang.AssertionError">
                     <message>
                      Total validation errors found: 2
@@ -2349,9 +2309,9 @@ 

Conformance test results

dqv:inDimension iso:compliance . -a:TestResult +a:TestResult a dqv:QualityMetadata ; - # change the the dcterms:type according to the resulted compliance + # change the the dcterms:type according to the resulted compliance dcterms:type <http://inspire.ec.europa.eu/metadata-codelist/DegreeOfConformity/conformant> ; prov:wasAttributedTo <http://validator.example.org/> ; prov:generatedAtTime "2018-05-27T02:52:02Z"^^xsd:dateTime ; @@ -2361,20 +2321,20 @@

Conformance test results

a:testResult { a:Dataset dqv:hasQualityMeasurement :measurement_complianceToINSPIRE; - dqv:hasQualityAnnotation :errors . + dqv:hasQualityAnnotation :errors . } #the testing activity a:TestingActivity a prov:Activity; prov:generated a:TestResult; prov:use a:Dataset ; - prov:wasAssociatedWith <http://validator.example.org/> + prov:wasAssociatedWith <http://validator.example.org/> . -
+ Of course, the above modelling patterns can represent any quality tests not only conformance to standards. -
-
-
+ + +
@@ -2467,283 +2427,283 @@

Schema.org

RDF Property:dct:license
- - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - + - + - - + + - + - + - - + + - + - - + + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - + - - + + - + - + - - + + - + - + - - + + - + - - + + - + - - + + - + - + - - + + - + - - + + - - + + - - + + @@ -3145,7 +3105,7 @@

Changes since the W3C Recommendation of 16 January 2014

Class: Distribution : In DCAT 2014 [[VOCAB-DCAT-20140116]] the definition of a dcat:Distribution allowed a number of alternative interpretations. The definition has been rephrased to clarify that distributions are primarily representations of datasets. See Issue #52 and related use cases. - +
  • Property: theme/category: In DCAT 2014 [[VOCAB-DCAT-20140116]] the domain of dcat:theme was dcat:Dataset,
  • DCAT elementmapping propertyDCAT elementmapping property target element from schema.org
    dc:descriptionowl:equivalentPropertydc:descriptionowl:equivalentProperty schema:description
    dc:titleowl:equivalentPropertydc:titleowl:equivalentProperty schema:name
    dct:formatowl:equivalentPropertydct:formatowl:equivalentProperty schema:encodingFormat
    dct:identifierowl:equivalentPropertydct:identifierowl:equivalentProperty schema:identifier
    dct:issuedowl:equivalentPropertydct:issuedowl:equivalentProperty schema:datePublished
    dct:languageowl:equivalentPropertydct:languageowl:equivalentProperty schema:inLanguage
    dct:licenseowl:equivalentPropertydct:licenseowl:equivalentProperty schema:license
    dct:modifiedowl:equivalentPropertydct:modifiedowl:equivalentProperty schema:dateModified
    dct:publisherowl:equivalentPropertydct:publisherowl:equivalentProperty schema:publisher
    dct:spatialowl:equivalentPropertydct:spatialowl:equivalentProperty schema:spatialCoverage
    dct:temporalowl:equivalentPropertydct:temporalowl:equivalentProperty schema:temporalCoverage
    dct:titleowl:equivalentPropertydct:titleowl:equivalentProperty schema:name
    dct:typeowl:equivalentPropertydct:typeowl:equivalentProperty schema:additionalType
    dcat:Catalogowl:equivalentClassdcat:Catalogowl:equivalentClass schema:DataCatalog
    dcat:DataServiceowl:equivalentClassdcat:DataServiceowl:equivalentClass schema:DataFeed
    Unclear if a DataFeed is a data service, or a data collection. From a REST viewpoint there is no difference, but some commonly used APIs support additional queries, slices, etc which make the characterization of a service more efficient than listing the (potentially infinite) set of resources available from it. Unclear if a DataFeed is a data service, or a data collection. From a REST viewpoint there is no difference, but some commonly used APIs support additional queries, slices, etc which make the characterization of a service more efficient than listing the (potentially infinite) set of resources available from it.
    dcat:Datasetowl:equivalentClassdcat:Datasetowl:equivalentClass schema:Dataset
    dcat:Distributionowl:equivalentClassdcat:Distributionowl:equivalentClass schema:DataDownload
    dcat:Resourcerdfs:subClassOfdcat:Resourcerdfs:subClassOf schema:Thing
    dcat:accessURLrdfs:subPropertyOfdcat:accessURLrdfs:subPropertyOf schema:contentUrl
    schema:domainIncludesschema:domainIncludes dcat:Distribution , schema:DataDownload
    schema:rangeIncludesschema:rangeIncludes rdfs:Resource , schema:URL
    dcat:byteSizerdfs:subPropertyOfdcat:byteSizerdfs:subPropertyOf schema:contentSize
    schema:domainIncludesschema:domainIncludes dcat:Distribution , schema:DataDownload
    schema:rangeIncludesschema:rangeIncludes rdfs:Literal , schema:Text
    dcat:catalogschema:domainIncludesdcat:catalogschema:domainIncludes dcat:Catalog , schema:DataCatalog
    schema:rangeIncludesschema:rangeIncludes dcat:Catalog , schema:DataCatalog
    dcat:contactPointowl:equivalentPropertydcat:contactPointowl:equivalentProperty schema:contactPoint
    schema:domainIncludesschema:domainIncludes dcat:Resource , dcat:Dataset , dcat:DataService , schema:Dataset
    dcat:datasetowl:equivalentPropertydcat:datasetowl:equivalentProperty schema:dataset
    schema:domainIncludesschema:domainIncludes dcat:Catalog , schema:DataCatalog
    schema:rangeIncludesschema:rangeIncludes dcat:Dataset , schema:Dataset
    dcat:distributionowl:equivalentPropertydcat:distributionowl:equivalentProperty schema:distribution
    schema:domainIncludesschema:domainIncludes dcat:Dataset , schema:Dataset
    schema:rangeIncludesschema:rangeIncludes dcat:Distribution , schema:DataDownload
    dcat:downloadURLrdfs:subPropertyOfdcat:downloadURLrdfs:subPropertyOf schema:contentUrl
    schema:domainIncludesschema:domainIncludes dcat:Distribution , schema:DataDownload
    schema:rangeIncludesschema:rangeIncludes rdfs:Resource , schema:Thing
    dcat:keywordrdfs:subPropertyOfdcat:keywordrdfs:subPropertyOf schema:keywords
    dcat:keyword is singular, schema:keywords is pluraldcat:keyword is singular, schema:keywords is plural
    schema:domainIncludesschema:domainIncludes dcat:Resource , dcat:Dataset , dcat:DataService , schema:Dataset
    schema:rangeIncludesschema:rangeIncludes rdfs:Literal , schema:Text
    dcat:landingPagerdfs:subPropertyOfdcat:landingPagerdfs:subPropertyOf schema:url
    schema:domainIncludesschema:domainIncludes dcat:Resource , dcat:Dataset , dcat:DataService , schema:Dataset
    schema:rangeIncludesschema:rangeIncludes foaf:Document , schema:WebPage
    dcat:mediaTypeowl:equivalentPropertydcat:mediaTypeowl:equivalentProperty schema:encodingFormat
    schema:domainIncludesschema:domainIncludes dcat:Distribution , schema:DataDownload
    schema:rangeIncludesschema:rangeIncludes dct:MediaTypeOrExtent , schema:Text , schema:url
    dcat:recordschema:domainIncludesdcat:recordschema:domainIncludes dcat:Catalog , schema:DataCatalog
    schema:rangeIncludesschema:rangeIncludes dcat:CatalogRecord
    dcat:serviceschema:domainIncludesdcat:serviceschema:domainIncludes dcat:Catalog , schema:DataCatalog
    schema:rangeIncludesschema:rangeIncludes dcat:DataService
    dcat:themeowl:equivalentPropertydcat:themeowl:equivalentProperty schema:about
    schema:domainIncludesschema:domainIncludes dcat:Resource , dcat:Dataset , dcat:DataService , schema:Dataset
    schema:rangeIncludesschema:rangeIncludes skos:Concept , schema:Class
    dcat:themeTaxonomyschema:domainIncludesdcat:themeTaxonomyschema:domainIncludes dcat:Catalog , schema:DataCatalog
    schema:rangeIncludesschema:rangeIncludes skos:ConceptScheme
    foaf:Organizationowl:equivalentClassfoaf:Organizationowl:equivalentClass schema:Organization
    foaf:homepageowl:equivalentPropertyfoaf:homepageowl:equivalentProperty schema:url
    foaf:mboxowl:equivalentPropertyfoaf:mboxowl:equivalentProperty schema:email