Re: Granular dereferencing ( prop by prop ) using REST + LinkedData; Ideas?

Hi Richard!

On 3 Jan 2009, at 12:23, Richard Cyganiak <richard@cyganiak.de> wrote:

>
> 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.
>

Yes, it does work, but only for simple property lists. What about  
"find here persons born in NYC between 1945 and 1975" ?



>> 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?
>

As in the post I refered to: you can point to http://example.org/dataset-example.rdf 
  where you put these example triples.


>> 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?

The example mentioned in my post uses more than one property, or the  
exampl above.

>
>
> “This is good because it can deal with arbitrary complexity” is a  
> fallacy on the Web. Usually it translates as: “This is bad because i 
> t 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.)
>

A RDF document is a dataset, and can be described as such :-)

Cheers!
y

> 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 Sunday, 4 January 2009 14:23:08 UTC