Peter Ansell wrote:
What was the rationale behind having both void:target and the
combination of void:subjectsTarget and void:objectsTarget?
I would have thought that linksets would always be directed, otherwise
it leaves you uncertain about whether you can actually find anything
in one set or the triples are actually contained in the other dataset.
At least with subjectsTarget you can always be sure that that dataset
will contain the relevant triples. If people use two void:target
statements as part of a linkset can we only assume that they are
trying to include triples from both datasets at once? If so, the
target's might contain anything resembling the statistics that one
might be able to apply to directed linksets where one is really only
trying to describe a subset of triples from void:subjectsTarget that
happen to have object resources in another known dataset?
void:subjectsTarget doesn't tell you where the interlinking triples are, they
will always be contained in the void:Linkset (which you can relate to a
void:Dataset via void:subset).
The target properties only tell you in what position of the triple you might
find resources from what dataset.
The voiD guide has an example for the use of just void:target instead of the
more specific properties [1]: symmetric properties. If you interlink with
owl:sameAs for example then the direction doesn't really matter. Another
example would be that the resources of the targets might appear in both
directions (e.g. DBpedia says that some of its resources are foaf:based_near
some GeoNames resources but it also says that some GeoNames resources are
foaf:based_near so of its resources).
So if you query a voiD description and you only find void:target properties but
no void:subjectsTarget and void:objectsTarget then this tells you that, when
querying the linkset itself, you have to expect resources of the dataset you're
interested in in both positions. So this would probably affect how you write
your SPARQL. Only if the void:linkPredicate is a symmetric property and you
know that the dataset does inferencing (taking the symmetry of that property
into account!) you can ignore the position. But I don't think you can savely
expect a dataset to do such inferencing. :-)
Regards,
Simon
[1] http://rdfs.org/ns/void-guide#sec_2_2_Directed_vs_Non_directed