Re: comments on RDF-Datasets-Proposal

Le 29/06/2011 14:28, Pierre-Antoine Champin a écrit :
> On 06/29/2011 10:24 AM, Antoine Zimmermann wrote:
>> Ok, I was not clear enough. The section named "Semantic extension"
>> should be deleted and forgotten. It is outdated.
>>
>> I maintain that I'm happy with "graph names" used loosely, like
>>
>> :me { :me a foaf:Person }
>
> don't get me wrong, I'm perfectly happy with it myself, as long as we
> are clear.
>
>> If I want to import a graph to the one "named" :mydog, I would do it as
>> follows, assuming that importing is defined adequately:
>>
>> :G1 :hasGraphIRI "http://..../me"^^xsd:anyURI .
>> :G2 :hasGraphIRI "..."^^xsd:anyURI .
>> :G1 :imports :G2 .
>> # and if you want:
>> :G2 owl:sameAs :G3 .
>
> ah, but this is a totally different thing now :)

As I said, the example and the whole section were outdated. I updated it:
http://www.w3.org/2011/rdf-wg/wiki/index.php?title=TF-Graphs/RDF-Datasets-Proposal&diff=1224&oldid=prev

> and with that I'm perfectly happy as well.
>
> My concern is that it does not match common SPARQL usages:
> if you were to build the import-closure of some graph, would you rather
> write
>
>    CONSTRUCT { ?s ?p ?o }
>    WHERE {
>        :me graph:import ?g .
>        GRAPH ?g { ?s ?p ?o }
>    }

What *I* would write is irrelevant. I would write what makes sense 
according to the spec. But I am not the casual SPARQL user.

I agree and already admitted that this goes with its own issues.
But read on.

> or
>
>    CONSTRUCT { ?s ?p ?o }
>    WHERE {
>        [ :hasGraphIRI "...me"^^xsd:anyURI ]
>        graph:imports
>        [ :hasGraphIRI ?guri ]
>        GRAPH ?gres { ?s ?p ?o }
>        FILTER (str(?gres) = str(?guri))
>    }
>
> ?
> And more importantly, what do you think the average SPARQL user would
> rather write?

I think the average SPARQL user would rather write the other example but 
there is a simple way to deal with it: if you accept that casual SPARQL 
users query your graph store, you should adopt a simple best practice 
consisting of "naming" graphs using a URI which denotes a graph itself. 
That is, if you build your dataset like this:

<http://ex.com/g1> :hasGraphIRI "http://ex.com/g1"^^xsd:anyURI .
<http://ex.com/g1> { ex:g1/s ex:g1/p ex:g1/o . }

then SPARQL users don't have to care about the distinction between the 
graph "name" and the actual URI of the graph.

The good thing of the approach is that graph stores can diverge from 
this practice if they want (at their own risk).



AZ.


>
>      pa
>
>
>>
>> :G1, :G2 and :G3 denote graphs, i.e., their RDF interpretations are sets
>> of triples. :G2 and :G3 denote the same set of triples. But this only
>> hold in a world where :imports is properly defined and this importing
>> mechanism is certainly not the same as owl:imports.
>>
>> Anyway, this has its own problems too.
>>
>> Le 29/06/2011 10:02, Pierre-Antoine Champin a écrit :
>>> Antoine,
>>>
>>> On 06/28/2011 12:07 PM, Antoine Zimmermann wrote:
>>>> Pierre-Antoine,
>>>>
>>>> Le 22/06/2011 19:19, Pierre-Antoine Champin a écrit :
>>>>> Hi all,
>>>>>
>>>>> after today's telecon, I read the proposal at [1].
>>>>>
>>>>> First, it seems to be a "light" version of the Named Graph paper that
>>>>> Pat mentionned. "Light", because it specifies that
>>>>>
>>>>> "The interpretation of the IRI [paired to graphs], in the RDF Semantics
>>>>> sense, is left unspecified."
>>>>>
>>>>> It is all very well, but what happens when one wants to use those IRIs
>>>>> *in* the named graphs? As proposed in the 'Semantic Extension' section
>>>>> of [1]?
>>>>
>>>> This section, which I wrote, was put there before we made any decision
>>>> on what the naming mechanism of graph store means. This section should
>>>> be considered informative, explaining how the basic semantics can be
>>>> extended. Such extension /may/ be defined externally to this WG.
>>>>
>>>> The semantics is extremely simple and does not make any assumption on
>>>> what the "name of the graph" means. The graph name is just used as an
>>>> indice in a family of graphs.
>>>
>>> I'm affraid you can not avoid to make that assumption. If I follow you,
>>>
>>>     :G1 graph:imports :G2 .
>>>
>>> would "only" mean
>>>
>>>     the graph associated with URI :G1 imports the graph associated with
>>>     URI :G2 (for some given association which is not *naming*)
>>>
>>> Now assume that you know that
>>>
>>>     :G2 owl:sameAs :G3 .
>>>
>>> Nothing prevents you from infering now that
>>>
>>>     :G1 graph:imports :G3 .
>>>
>>> But the graph associated with URI :G2 may be completely different from
>>> the graph associated with URI :G3 !
>>>
>>> The problem comes from the fact that, to avoid the "graph naming
>>> assumption", we need a property to talk about the URIs (and indirectly,
>>> about the graph associated with them) while RDF properties always talk
>>> about the resources denoted by the URIs.
>>>
>>> If we used *resources* as graph identifiers, then it would be different.
>>> But unfortunately, that is not what SPARQL is doing.
>>>
>>>     pa
>>>
>>>
>>>
>>>>
>>>>
>>>>>
>>>>> Stating
>>>>>
>>>>>      :G1 graph:imports :G2
>>>>>
>>>>> does make some assumption about the meaning of :G1 and :G2 in the RDF
>>>>> Semantics! More generally, if we want to make graphs first class
>>>>> citizens of RDF, we need a mean to talk about them, hence we need IRIs
>>>>> whose interpretation in RDF Semantics is that graph.
>>>>>
>>>>>      pa
>>>>>
>>>>>
>>>>> [1] http://www.w3.org/2011/rdf-wg/wiki/TF-Graphs/RDF-Datasets-Proposal
>>>>>
>>>>
>>>>
>>>
>>
>>
>


-- 
Antoine Zimmermann
Researcher at:
Laboratoire d'InfoRmatique en Image et Systèmes d'information
Database Group
7 Avenue Jean Capelle
69621 Villeurbanne Cedex
France
Tel: +33(0)4 72 43 61 74 - Fax: +33(0)4 72 43 87 13
Lecturer at:
Institut National des Sciences Appliquées de Lyon
20 Avenue Albert Einstein
69621 Villeurbanne Cedex
France
antoine.zimmermann@insa-lyon.fr
http://zimmer.aprilfoolsreview.com/

Received on Wednesday, 29 June 2011 12:42:50 UTC