- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Sat, 3 Jan 2009 12:23:07 +0000
- To: "Yves Raimond" <yves.raimond@gmail.com>
- Cc: "Aldo Bucchi" <aldo.bucchi@gmail.com>, "public-lod@w3.org" <public-lod@w3.org>
On 2 Jan 2009, at 23:20, Yves Raimond wrote:
<snip>
>> I proposed this solution:
>> http://simile.mit.edu/mail/ReadMsg?listName=Linking%20Open%20Data&msgId=20926
>>
>> And some refinements here:
>> http://simile.mit.edu/mail/ReadMsg?listName=Linking%20Open%20Data&msgId=20962
<snip>
> This discussion was indeed interesting :)
> I now tend to think that linking to a separate document is a cleaner
> way to go, but I am still concerned about auto-discovery. When you see
> something like:
>
> :New_York :morePersonsBornHere <http://example.org/persons_nyc.rdf> .
>
> in the representation of :New_York, you still need a way to describe
> the fact that :morePersonsBornHere links to a document holding lots of
> :birthPlace properties. Just saying that :morePersonsBornHere
> rdfs:subPropertyOf rdfs:seeAlso won't do the job properly - how can
> you tell before retrieving the whole document?
Yves, the proposal above addresses this. There would be a triple:
:birthPlace link:subjectListProperty :morePersonsBornHere .
This triple can be either directly in the :New_York description, or in
the vocabulary (where you'd find it by
dereferencing :morePersonsBornHere).
The triple tells clients that they should follow
the :morePersonsBornHere link if they are interested in :birthPlace
triples. So, autodiscovery is solved.
> But perhaps the approach I proposed when we discussed the void:example
> property could work, in exactly the same way as in [1].
>
> In the representation of :New_York, we could write something like
> (in N3):
>
> <http://example.org/persons_nyc.rdf> void:example { :al_pacino
> :birthPlace :New_York }.
N3 formulae cannot be expressed in RDFa or RDF/XML. How would you
serialize this in practice?
> Then, a SPARQL query like the following could find the documents that
> hold information about persons born in New York:
>
> SELECT ?doc
> WHERE {
> ?doc void:example ?g .
> GRAPH ?g {
> ?person :birthPlace :New_York .
> }
> }
>
> One of the good thing with this approach is that the "patterns" of
> information held in the target document can be arbitrarily complex -
As far as I can remember, all the examples that people have given
could be addressed with a simple property-based approach. Has anyone
mentioned a use case that goes beyond looking for a single property?
If not, then what does the additional complexity of this proposal buy
us in practice?
“This is good because it can deal with arbitrary complexity” is a
fallacy on the Web. Usually it translates as: “This is bad because it
makes the common case harder.”
(I note that the situation here is different from what you described
in [1]. There it was about annotations on a dataset level. Here it is
about annotating links that occur within many or all individual
documents of a dataset.)
Best,
Richard
>
> and the only thing you have to do is to provide an example RDF graph,
> holding something representative of what you put in that document.
>
> Cheers!
> y
>
> [1] http://blog.dbtune.org/post/2008/06/12/Describing-the-content-of-RDF-datasets
Received on Saturday, 3 January 2009 12:23:50 UTC