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

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