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

Replace RDF/XML with Turtle syntax #11

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
200 changes: 101 additions & 99 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ metadata and consuming metadata from other catalogs.

This extension offers the following Implementation Guidelines:

* A serialization format for dataset metadata in JSON and RDF/XML format, both
* A serialization format for dataset metadata in JSON and RDF format, both
based on standard DCAT properties.
* A simple mechanism for exposing a catalog metadata dumps, with optional
methods for pagination and filtering for large catalogs
Expand Down Expand Up @@ -88,10 +88,10 @@ A catalog specifies an endpoint URL for each serialization format where it
serves its datasets metadata, for instance:

http://example.com/data.json
http://example.com/data.rdf
http://example.com/data.ttl

These return a dump of all or a subset of the catalog’s datasets
representations based on DCAT, either in JSON or XML-RDF form.
representations based on DCAT, either in JSON or RDF Turtle form.

Catalogs with a large number of datasets can optionally implement a simple
paging mechanism and limit the results to datasets modified since a certain
Expand Down Expand Up @@ -136,52 +136,44 @@ A simple example in JSON form could be:
]
}

The same example on XML-RDF form:

<dcat:Dataset rdf:about="http://example.com/data/test-dataset-1">
<dct:identifier>http://example.com/data/test-dataset-1</dct:identifier>
<dct:title>A test dataset on your catalogue</dct:title>
<dct:description>A longer description of the dataset</dct:description>
<dcat:landingPage>http://url.to.dataset.home</dcat:landingPage>
<dct:issued>2012-05-10</dct:issued>
<dct:modified>2012-05-10T21:04</dct:modified>
<dc:language>en</dc:language>
<dc:language>es</dc:language>
<dc:language>ca</dc:language>
<dct:publisher>
<foaf:Organization>
<foaf:name>Name of the Publishing Organization</foaf:name>
<foaf:mbox>contact@some.org</foaf:mbox>
</foaf:Organization>
</dct:publisher>
<dcat:keyword>stats</dcat:keyword>
<dcat:keyword>pollution</dcat:keyword>
<dcat:distribution>
<dcat:Distribution>
<dct:title>Test resource CSV file</dct:title>
<dct:license>https://url.to.license</dct:license>
<dcat:downloadURL>http://url.to.csv.file</dcat:downloadURL>
<dct:format>
<dct:IMT>
<rdf:value>text/csv</rdf:value>
</dct:IMT>
</dct:format>
</dcat:Distribution>
</dcat:distribution>
<dcat:distribution>
<dcat:Distribution>
<dct:title>Test resource HTML file</dct:title>
<dct:license>https://url.to.license</dct:license>
<dcat:accessURL>http://url.to.html.page</dcat:accessURL>
<dct:format>
<dct:IMT>
<rdf:value>text/html</rdf:value>
</dct:IMT>
</dct:format>
</dcat:Distribution>
</dcat:distribution>
</dcat:Dataset>

The same example in RDF form:

prefix dc: <http://purl.org/dc/elements/1.1/>
prefix dcat: <http://www.w3.org/ns/dcat#>
prefix foaf: <http://xmlns.com/foaf/0.1/>
prefix dct: <http://purl.org/dc/terms/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

<http://example.com/data/test-dataset-1>
a dcat:Dataset ;
dc:language "ca" , "en" , "es" ;
dct:description "A longer description of the dataset" ;
dct:identifier "http://example.com/data/test-dataset-1" ;
dct:issued "2012-05-10" ;
dct:modified "2012-05-10T21:04" ;
dct:publisher [ a foaf:Organization ;
foaf:mbox "contact@some.org" ;
foaf:name "Name of the Publishing Organization"
] ;
dct:title "A test dataset on your catalogue" ;
dcat:distribution [ a dcat:Distribution ;
dct:format [ a dct:IMT ;
rdf:value "text/csv"
] ;
dct:license "https://url.to.license" ;
dct:title "Test resource CSV file" ;
dcat:downloadURL "http://url.to.csv.file"
] ;
dcat:distribution [ a dcat:Distribution ;
dct:format [ a dct:IMT ;
rdf:value "text/html"
] ;
dct:license "https://url.to.license" ;
dct:title "Test resource HTML file" ;
dcat:accessURL "http://url.to.html.page"
] ;
dcat:keyword "pollution" , "stats" ;
dcat:landingPage "http://url.to.dataset.home" .

### Items for discussion

Expand All @@ -192,21 +184,21 @@ The same example on XML-RDF form:
* dcat:Dataset issued/updated vs dcat:CatalogRecord issued/updated. Can we have
them on the same object?
* Add rest of fields: spatial, temporal, accrualPeriodicity, theme
* Support multilingual properties on XML-RDF (only extract English by default).
eg XML-RDF, what about JSON:
* Support multilingual properties on RDF (only extract English by default).
eg RDF, what about JSON:

<dct:title xml:lang="en">Gross value added by industry</dct:title>
<dct:title xml:lang="es">Valor a&#xF1;adido bruto por rama de actividad</dct:title>
<dct:title xml:lang="ca">Valor afegit brut per branca d'activitat</dct:title>
"Gross value added by industry"@en
"Valor a\u00F1adido bruto por rama de actividad"@es
"Valor afegit brut per branca d'activitat"@ca

## Basic Request

When this endpoint receives a GET request it should return the listing of all
or a limited subset of the datasets in either JSON or XML-RDF format depending
or a limited subset of the datasets in either JSON or RDF Turtle format depending
on the endpoint.

http://example.com/data.json
http://example.com/data.rdf
http://example.com/data.ttl

The JSON listing should be a list of JSON objects. For example an endpoint that
contains 3 datasets:
Expand All @@ -219,26 +211,30 @@ contains 3 datasets:
}]

The XML-RDF listing is listing of dcat:Datatsets classes under the root RDF
The RDF listing is listing of dcat:Datatsets classes under the root RDF
tag. For example this endpoint contains 3 datasets.

<rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dcat="http://www.w3.org/ns/dcat#"
xmlns:dct="http://purl.org/dc/terms/">

<dcat:Dataset rdf:about="http://example.com/dataset/example1">
</dcat:Dataset>

<dcat:Dataset rdf:about="http://example.com/dataset/example2">
</dcat:Dataset>

<dcat:Dataset rdf:about="http://example.com/dataset/example3">
</dcat:Dataset>

</rdf:RDF>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix dcat: <http://www.w3.org/ns/dcat#>
prefix foaf: <http://xmlns.com/foaf/0.1/>
prefix dct: <http://purl.org/dc/terms/>
prefix owl: <http://www.w3.org/2002/07/owl#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

<http://example.com/dataset/example2>
a dcat:Dataset ;
... ;
.

<http://example.com/dataset/example1>
a dcat:Dataset ;
... ;
.

<http://example.com/dataset/example3>
a dcat:Dataset ;
... ;
.

The datasets should be ordered if possible with the latest modified metadata
first.
Expand All @@ -261,27 +257,37 @@ Do we want lists of elements or a root catalog object, eg JSON
}]
}

XML-RDF

<rdf:RDF [...]>
<dcat:Catalog rdf:about="https://data.some.org/catalog">
<dct:title>Catalog title</dct:title>
<foaf:homepage>https://data.some.org/the/actual/catalog</foaf:homepage>
<dcat:dataset>
<dcat:Dataset rdf:about="http://example.com/dataset/example1">
</dcat:Dataset>
<dcat:Dataset rdf:about="http://example.com/dataset/example2">
</dcat:Dataset>
<dcat:Dataset rdf:about="http://example.com/dataset/example3">
</dcat:Dataset>
</dcat:dataset>
</dcat:Catalog>
</rdf:RDF>

RDF Turtle

prefix dc: <http://purl.org/dc/elements/1.1/>
prefix dcat: <http://www.w3.org/ns/dcat#>
prefix foaf: <http://xmlns.com/foaf/0.1/>
prefix dct: <http://purl.org/dc/terms/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

<https://data.some.org/catalog>
a dcat:Catalog ;
... ;
dct:title "Catalog title" ;
dcat:dataset <http://example.com/dataset/example1> ,
<http://example.com/dataset/example2> ,
<http://example.com/dataset/example3> ;
foaf:homepage "https://data.some.org/the/actual/catalog" .

<http://example.com/dataset/example2>
a dcat:Dataset ;
... ;
.

<http://example.com/dataset/example1>
a dcat:Dataset ;
... ;
.

<http://example.com/dataset/example3>
a dcat:Dataset ;
... ;
.

## Extra Parameters

Expand Down Expand Up @@ -331,7 +337,3 @@ basis. Among those who have provided expert feedback or input are: Phil Archer
(W3C), Martin Alvarez-Espinar (CTIC), Richard Cyganiak (DERI), John Erickson
(RPI), Chris Gutteridge (Southampton University), Jim Hendler (RPI), Faadi Mali
(DERI), Ed Summers (Library of Congress)