Skip to content

Commit

Permalink
Merge branch 'gh-pages' into dcat-issue119
Browse files Browse the repository at this point in the history
  • Loading branch information
davebrowning committed May 3, 2019
2 parents 6fa89c8 + 1118e2d commit cb5b9f2
Show file tree
Hide file tree
Showing 4 changed files with 299 additions and 306 deletions.
183 changes: 183 additions & 0 deletions dcat/alignments/LinkedDataPlatform
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
<section class="appendix" id="other-w3c-recommendations">

<h2>Relation to other W3C Recommendations</h2>

<p class="issue" data-number="254">
DCAT should be aligned with other recent Linked Data based Recommendations.
</p>

<section id="ldp" class="informative">
<h3>Linked Data Platform (<abbr title="Linked Data Platform">LDP</abbr>)</h3>

<p>
DCAT provides a data model for representation of metadata about datasets in the form of Linked Data, but it does not specify how this metadata can be accessed or modified.
The DCAT compatible metadata can be viewed as collections of Catalog Records, Datasets and Data Services contained in a Catalog, and a collection of Distributions contained in a Dataset.
The Linked Data Platform [[?LDP]] specification deals with access to and modification of Linked Data Platform Containers (<abbr title="Linked Data Platform Containers">LDPCs</abbr>).
This section provides guidance on how to represent DCAT metadata as LDP Containers, which supports namely the implementation of <a href="https://solid.mit.edu/" title="Solid">Solid</a> based DCAT catalogs.
</p>

<p>
First, we will present an example of a LDPC for datasets in a catalog.
There is one catalog with one dataset.
The dataset is contained in the <code>&lt;/datasets/&gt;</code> LDP Direct Container.
To ensure the <abbr title="Linked Data Platform Container">LDPC</abbr> discovery, we connect it to the Catalog using the <code>dcat-ldp:datasets</code> predicate.
</p>
<pre id="ex-ldpc-dataset" class="example nohighlight turtle">
@prefix dcat: &lt;http://www.w3.org/ns/dcat#&gt; .
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt; .
@prefix dcat-ldp: &lt;http://www.w3.org/ns/dcat-ldp#&gt; .

@base &lt;https://example.org/resource/catalog&gt; .

&lt;&gt; a dcat:Catalog ;
dcat-ldp:datasets &lt;/datasets/&gt; ;
dcat:dataset &lt;/datasets/001&gt; .

&lt;/datasets/&gt; a ldp:Container, ldp:DirectContainer ;
ldp:membershipResource &lt;&gt; ;
ldp:hasMemberRelation dcat:dataset ;
ldp:contains &lt;/datasets/001&gt; .

&lt;/datasets/001&gt; a dcat:Dataset .</pre>

<p>In the second example, we add LDPCs <code>&lt;/records/&gt;</code> for Catalog Records and <code>&lt;/services/&gt;</code> for Data Services, discoverable using <code>dcat-ldp:records</code> and <code>dcat-ldp:services</code> predicates from the Catalog:
</p>
<pre id="ex-ldpc-record" class="example nohighlight turtle">
@prefix dcat: &lt;http://www.w3.org/ns/dcat#&gt; .
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt; .
@prefix dcat-ldp: &lt;http://www.w3.org/ns/dcat-ldp#&gt; .

@base &lt;https://example.org/resource/catalog&gt; .

&lt;&gt; a dcat:Catalog ;
dcat-ldp:records &lt;/records/&gt; ;
dcat-ldp:datasets &lt;/datasets/&gt; ;
dcat-ldp:services &lt;/services/&gt; ;
dcat:dataset &lt;/datasets/001&gt; .

&lt;/records/&gt; a ldp:Container, ldp:DirectContainer ;
ldp:membershipResource &lt;&gt; ;
ldp:hasMemberRelation dcat:record ;
ldp:contains &lt;/records/001&gt; .

&lt;/datasets/&gt; a ldp:Container, ldp:DirectContainer ;
ldp:membershipResource &lt;&gt; ;
ldp:hasMemberRelation dcat:dataset ;
ldp:contains &lt;/datasets/001&gt; .

&lt;/services/&gt; a ldp:Container, ldp:DirectContainer ;
ldp:membershipResource &lt;&gt; ;
ldp:hasMemberRelation dcat:service ;
ldp:contains &lt;/services/001&gt; .

&lt;/records/001&gt; a dcat:CatalogRecord ;
foaf:primaryTopic &lt;/datasets/001&gt; .

&lt;/datasets/001&gt; a dcat:Dataset ;

&lt;/services/001&gt; a dcat:DataService .</pre>

<p>Each dataset has its own LDPC for its distributions.
In the third example, we show the LDPC <code>&lt;/datasets/001/distributions/&gt;</code> for distributions of a single dataset, <code>&lt;/datasets/001&gt;</code>, discoverable through the <code>dcat-ldp:distributions</code> predicate.</p>
<pre id="ex-ldpc-distribution" class="example nohighlight turtle">

@prefix dcat: &lt;http://www.w3.org/ns/dcat#&gt; .
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt; .
@prefix dcat-ldp: &lt;http://www.w3.org/ns/dcat-ldp#&gt; .

@base &lt;https://example.org/resource/catalog&gt; .

&lt;/datasets/001&gt; a dcat:Dataset ;
dcat-ldp:distributions &lt;/datasets/001/distributions/&gt; ;
dcat:distribution &lt;/datasets/001/distributions/001&gt; .

&lt;/datasets/001/distributions/&gt; a ldp:Container, ldp:DirectContainer ;
ldp:membershipResource &lt;/datasets/001&gt; ;
ldp:hasMemberRelation dcat:distribution ;
ldp:contains &lt;/datasets/001/distributions/001&gt; .

&lt;/datasets/001/distributions/001&gt; a dcat:Distribution .</pre>

<p class="note">For catalogs with many datasets, catalog records, data services or distributions,
the Linked Data Platform Paging mechanism [[?LDP-Paging]] SHOULD be used to provide access to them.</p>

<p>
In the next sections we formally define the additional properties used for discovery of LDP containers.
</p>

<section id="Property:catalog_datasets">
<h4>Property: datasets</h4>

<table class="definition">
<thead><tr><th>RDF Property:</th><th><code>dcat-ldp:datasets</code></th></tr></thead>
<tbody>
<tr><td class="prop">Definition:</td><td>Connects a catalog to the LDP container of its datasets.</td></tr>
<tr><td class="prop">Domain:</td><td><a href="http://www.w3.org/ns/dcat#Catalog"><code>dcat:Catalog</code></a></td></tr>
<tr><td class="prop">Range:</td><td><a href="http://www.w3.org/ns/ldp#DirectContainer"><code>ldp:DirectContainer</code></a></td></tr>
</tbody>
</table>
</section>

<section id="Property:catalog_records">
<h4>Property: catalog records</h4>

<table class="definition">
<thead><tr><th>RDF Property:</th><th><code>dcat-ldp:records</code></th></tr></thead>
<tbody>
<tr><td class="prop">Definition:</td><td>Connects a catalog to the LDP container of its catalog records.</td></tr>
<tr><td class="prop">Domain:</td><td><a href="http://www.w3.org/ns/dcat#Catalog"><code>dcat:Catalog</code></a></td></tr>
<tr><td class="prop">Range:</td><td><a href="http://www.w3.org/ns/ldp#DirectContainer"><code>ldp:DirectContainer</code></a></td></tr>
</tbody>
</table>
</section>

<section id="Property:catalog_services">
<h4>Property: data services</h4>

<table class="definition">
<thead><tr><th>RDF Property:</th><th><code>dcat-ldp:services</code></th></tr></thead>
<tbody>
<tr><td class="prop">Definition:</td><td>Connects a catalog to the LDP container of its data services.</td></tr>
<tr><td class="prop">Domain:</td><td><a href="http://www.w3.org/ns/dcat#Catalog"><code>dcat:Catalog</code></a></td></tr>
<tr><td class="prop">Range:</td><td><a href="http://www.w3.org/ns/ldp#DirectContainer"><code>ldp:DirectContainer</code></a></td></tr>
</tbody>
</table>
</section>

<section id="Property:dataset_distributions">
<h4>Property: distributions</h4>

<table class="definition">
<thead><tr><th>RDF Property:</th><th><code>dcat-ldp:distributions</code></th></tr></thead>
<tbody>
<tr><td class="prop">Definition:</td><td>Connects a dataset to the LDP container of its distributions.</td></tr>
<tr><td class="prop">Domain:</td><td><a href="http://www.w3.org/ns/dcat#Dataset"><code>dcat:Dataset</code></a></td></tr>
<tr><td class="prop">Range:</td><td><a href="http://www.w3.org/ns/ldp#DirectContainer"><code>ldp:DirectContainer</code></a></td></tr>
</tbody>
</table>
</section>

</section>

<section id="ldn" class="informative">
<h3>Linked Data Notifications (<abbr title="Linked Data Notifications">LDN</abbr>)</h3>

<p>
Linked Data Notifications (LDN) [[?LDN]] can be used with DCAT e.g. for feedback collection.
Any resource can have an LDN Inbox.
In the following example we show a dataset <code>&lt;/datasets/001&gt;</code> as an LDN Target with an LDN Inbox.
</p>
<pre id="ex-ldn-dataset" class="example nohighlight turtle">
@prefix dcat: &lt;http://www.w3.org/ns/dcat#&gt; .
@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt; .

@base &lt;https://example.org/resource/catalog&gt; .

&lt;/datasets/001&gt; a dcat:Dataset ;
ldp:inbox &lt;/datasets/001/inbox/&gt; .

&lt;/datasets/001/inbox/&gt; ldp:contains &lt;/datasets/001/inbox/001&gt; .</pre>

</section>

</section>
Loading

0 comments on commit cb5b9f2

Please sign in to comment.