W3C home > Mailing lists > Public > semantic-web@w3.org > July 2014

RE: Best practices for naming and referring to void:Datasets

From: Svensson, Lars <L.Svensson@dnb.de>
Date: Wed, 16 Jul 2014 13:14:11 +0000
To: Sarven Capadisli <info@csarven.ca>, "semantic-web@w3.org" <semantic-web@w3.org>
Message-ID: <24637769D123E644A105A0AF0E1F92EFA4465D1B@dnbf-ex1.AD.DDB.DE>
Sarven,

Thank you for your comments. This is just to check that I've understood your suggestion correctly.

> I would go at it like this:
> 
> #Probably a good idea to use void.ttl or .well-known/void here
> <http://data.example.org/void.ttl>
>      a void:DatasetDescription ;
>      foaf:primaryTopic <http://data.example.org/dataset/example> .
> 
> <http://data.example.org/dataset/example>
>      a void:Dataset ;
>      void:subset <http://data.example.org/foo> .
> 
> <http://data.example.org/foo> a void.Dataset .

Ok, so in a document published at <http://data.example.org/void.ttl> (possibly referred to from <http://data.example.org/.well-known/void>), I have the following:

#start of document
<> a void:DatasetDescription ;
	foaf:primaryTopic <http://data.example.org/dataset/example> .

<http://data.example.org/dataset/example> a void:Dataset ;
	void:subset <http://data.example.org/foo> , <http://data.example.org/bar> , <http://data.example.org/baz> .
#end of document

> The rationale for <http://data.example.org/dataset/example> is that, it
> can point to all of your datasets. It also comes in handy when you deal
> with linksets, and just want to point at the complete set:
> 
> :linkset-example-ecb
>      a void:Linkset ;
>      void:linkPredicate skos:exactMatch ;
>      void:subjectsTarget <http://data.example.org/dataset/example> ;
>      void:objectsTarget <http://ecb.270a.info/dataset/ecb> .

Hmm, yes. But that would work if I used <http://data.example.org> as the URI for the complete dataset, too. OTOH I just realise that I'm running into httpRange-14 issues here by using the same URI for the dataset and its description... Essentially I need to do the following:

<http://data.example.org/> -> redirect to <http://data.example.org/about> containing the following (using conneg):

#start of document
<> a void:DatasetDescription ;
	foaf:primaryTopic <http://data.example.org/> .

<http://data.example.org/> a void:Dataset ;
	void:subset <http://data.example.org/foo> , <http://data.example.org/bar> , <http://data.example.org/baz> .
	#more metadata here...
#end of document

<http://data.example.org/foo> redirects to <http://data.example.org/foo/about> containing the following (using conneg again):

#start of document
<> a void:DatasetDescription ;
	foaf:primaryTopic <http://data.example.org/foo> .

<http://data.example.org/foo> a void:Dataset .
	#more metadata here

# linksets etc.
#end of document

That way an agent following its nose could find out more interesting things when encountering e. g.

<http://data.example.org/foo/123456> void:inDataset <http://data.example.org/foo> .

since <http://data.example.org/foo> actually dereferences to useful information. If I put all the dataset information in <http://data.example.org/void.ttl>, the above triple isn't really useful if I haven't crawled the void-file beforehand.

Does that make sense?

Best,

Lars 

Received on Wednesday, 16 July 2014 13:14:40 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:42:52 UTC