Possibly I'm forgetting something, but I was wondering if we had an
obvious way in VoID of modelling that there are 100 Venues in
dataincubator-climb linked to 200 Supermarkets in linkedgeodata (for
instance), with, say, 250 ov:near triples.
I was thinking it could be something like:
<climb-venues-near-linkedgeodata-supermarkets>
a void:Linkset ;
void:triples 250 ;
void:subjectsTarget <subset-of-climb-venues-near-linkedgeodata-supermarkets> ;
void:objectsTarget <subset-of-linkedgeodata-supermarkets-near-climb-venues> ;
void:linkPredicate ov:near ;
.
<climb> a void:Dataset ;
void:classPartition <venues> .
<venues> void:subset
<subset-of-climb-venues-near-linkedgeodata-supermarkets> ; void:class
climb:Venue ; void:triples 500 .
<subset-of-climb-venues-near-linkedgeodata-supermarkets> void:triples 100 .
I think that expresses what I want it to, but the reader has to
traverse a lot of graph to find out the actual 'containing' dataset.
Thoughts?
Keith
Cheers,
Michael
--
Dr. Michael Hausenblas, Research Fellow
LiDRC - Linked Data Research Centre
DERI - Digital Enterprise Research Institute
NUIG - National University of Ireland, Galway
Ireland, Europe
Tel. +353 91 495730
http://linkeddata.deri.ie/
http://sw-app.org/about.html
Not quite. The problem is that I choose between expressing the class
restriction, and the linkset data being easy to consume. In most
cases, the consumer will want/expect void:target to point to the
containing dataset; if it points to a subset, the consumer does not
know how many steps they need to make to get to the 'containing'
dataset (ie, the ckan package level dataset).
My use case is from the LATC linksets, which typically link from one
class of things in the source dataset, to another class of things in
another dataset. There may be many linksets between the same two
datasets, with the same link predicate, and what (generally)
distinguishes them are the class restrictions on either side.
A solution could be to always use void:target, void:subjectsTarget,
void:objectsTarget to point to the 'containing' dataset, and make up
some new properties to point to the restricted subsets of the datasets
that the linkset joins - eg: ex:subjectsTargetSubset,
ex:objectsTargetSubset .
Does that make sense?
Keith
The proper way of doing this would be to document a way of describing entity sets or URI sets or whatever you want to call them. "Here's a set of 1500 entities with the following URI pattern. They are all of class ex:venue." This would definitely be something useful, but it's more specific than void:Dataset, and not quite the same thing as void:classPartition.
Best,
Richard