Re: Reconciliation of concerns, re islands and dataset semantics?

On Mar 1, 2012, at 12:42 , Antoine Zimmermann wrote:

> Ivan,
> 
> 
> Glad to see you join this verbal joust ;)
> I hope that your fresh eye can help reaching consensus.
> 
> 
> Le 01/03/2012 10:27, Ivan Herman a écrit :
>> Guys,
>> 
>> I do not claim to have read and understood all the details of your
>> discussion. I hope I have grasped the essential aspects of it,
>> though. And I was wondering whether it was possible to reconcile
>> Antoine's proposal (that do have some attraction for my engineering
>> mind, I must admit) and Pat's objections. Let me try to give an
>> alternative to Antoine's definition, and see if that works.
>> 
>> An interpretation 'I' of a Graph is a function which abides to
>> certain semantic conditions.
> 
> What do you mean exactly?  is I an RDF interpretation (over a vocabulary V)?
> 

Yes, for example. Or RDFS, or RDF+Datatype, or even OWL (with the RDF compatible semantics)

> 
> If there is a graph 'G', it is therefore
>> possible to talk about 'I|G', ie, the restriction of the function to
>> 'G'.
> 
> Do you mean, a restriction of the function to the vocabulary of G?

Yes.

> Otherwise, I don't understand what you mean by that.
> 
> 
> With that in mind:
>> 
>> Let D = (G, (<n1>,G1), (<n2>,G2), ... , (<nk>,Gk))
>> 
>> and let 'I' be a mapping, ie, and interpretation, from
>> 'union(G,G2,G2,...,Gk)' such that, 'I|G', 'I|G1', ... , 'I|Gk' are
>> all RDF/RDFS/OWL Full etc. interpretations (ie, they abide to the
>> semantic condition locally).
> 
> I'm lost: union(G,G1, ...) means the union of the triples in all these graphs?

At first approximation: yes. Probably the right answer is the RDF Graph union of all graphs, taking care of blank nodes. But I did not go into that.

> 
> Do you mean that I is an RDF interpretation of the union of all the vocabularies used in G, G1, etc., and I|G is the restriction of I to the vocabulary of G?

Yes

> Remember that (as Pat recalled already) an RDF interpretation of a graph or a triple is fully determined by the interpretation of a vocabulary.
> 

That is fine. The point is that the vocabulary of G1 and G2 might overlap, but may not be identical. My concern was that the interpretation is the same for the overlapping part of the vocabularies.

> If such is your proposal, then it's viable in the sense that it can work as a logic, but I'm wondering how this would solve the endorsement/beliefs/provenance/temporal use cases.
> 

My understanding of the discussion is that, in your case, what happens is that if there is a resource (URI) that appears in both G1 and G2, the respective interpretations (or models) may be different on that resource, depending on whether you use the interpretation for G2 or G2. This is the issue I want to take away, while still keeping the graphs separate

>> 
>> If
>> 
>> E =  (H, (<m1>,H1), (<m2>,H2), ... , (<mk>,Hk))
>> 
>> is another dataset, than we can say that 'D' entails 'E' if for all
>> interpretations 'I' of 'D',
>> 
>> 'I|H', 'I|H1', ... , 'I|Hk'
>> 
>> are all interpretations, which seems to be the same as saying that
>> 'I' is also an interpretation of 'E'.
> 
> I guess here you mean "model" rather than interpretation (i.e., an interpretation that satisfies the dataset).

Sorry. I did refer to the fact that the interpretation abides to the semantic conditions of RDF(S) et al, I guess that is the same. (RDF Semantics does not use the term 'model', only rdf-interpretation, rdfs-interpretation, etc...)

> Said otherwise, entailment is defined "as usual":
> 
> D entails E iff all models of D are models of E.
> 

I guess that is correct

> (Pat just reminded me in his last email that I do not use the "usual" definition of entailment in the dataset proposal, but I'm gonna fix this).
> 
> 
>> This means that there is level of consistency shared by all graphs in
>> a dataset, ie, if a resource 'R' is in 'G1' and 'G2', then we are
>> sure that an interpretation maps it identically, because 'I' is
>> defined as a mapping on the *union* of all graphs. But the semantic
>> conditions, as well as the entailments, are restricted to the
>> individual graphs.
>> 
>> Can that work?
> 
> This certainly works as a logic, but the question is whether it addresses the use cases dealing with multiple graphs.
> Take the case when I want to have the following information:
> 
> :x thinks that { :a owl:sameAs :b }
> :y thinks that { :a owl:differentFrom :b }
> 
> which could be reformulated in :x endorses the first graph, :y endorses the other graph, or the document at :x contains the first graph, the one at :y contains the second, or again, a SPARQL dataset contains the two graphs respectively "named" :x and :y.
> 

If (:a owl:sameAs :b) and (:a owl:differentFrom :b) appeared in the same graph, then an OWL reasoner, using the definition of the predicates, would deduce that there is a inconsistence. I mean: the triples themselves are just fine, it is up to a reasoner to find the problem. 

If they are in different graphs, then the inconsistence would not occur, because we only care about the models in separate graphs, independently from one another. 

Put it in terms of rules (eg, OWL RL), if I take G1 and G2, the rule set will expand G1 and create a G1' graph, conceptually, and will create a G2', again conceptually. Because the two expansions are done independently of one another, there will be inconsistence. Which, I believe, is what we want. 

I.e., I do not see the problem. But I am really out of my territory with all this, so...

> There is going to be a problem here. Yet, the information that I want to encode is perfectly reasonable: I want to express the fact that :x and :y disagree, which is a coherent information.
> 
> 
>> This approach, if again it works, seem to be a much less radical
>> change, both conceptually and practically, to the current RDF
>> standards. Therein lies, for me, its attraction...
> 
> It depends. If, like me, you think that dataset should be a separate data structure, distinct from RDF (not a generalisation of RDF, just a new construction on top of RDF, just like RDF is a new construction on top of URIs), then the change is certainly as radical (as little radical) as the change introduced by the dataset semantics.
> 
> To implement it, one just needs a reasoner and apply it separately on each RDF graph in the dataset. Really trivial. I'm sure some triple stores already do that.
> If you want to programme the "default-is-universal-truth" extension, you just apply the reasoner separately on union(G,Gi). Again, trivial.
> If you want to programme the "default-as-merge" extension, you just compute the merge and apply reasoning separately. Trivial.

Well, this is what I had in mind...


> 
> Now, if you want to do temporal reasoning, provenance, trust, it's more complicated. But the fierceful rejection by Pat on the mere idea of a multi-interpretation semantics has deviated the discussion away from these issues.

And I do not think this working group should deal with temporal reasoning, provenance, or trust. Just giving the basis in terms of that semantics is what should be done.

> 
> Whagt is not trivial, however, is how we will allow users to express what semantic extension they are using. I think that Sandro's design solutions are going in the right direction regarding this.
> 
>> 
>> Two more things.
>> 
>> 1. A variant, that I touched upon in a mail to Antoine yesterday
>> evening, is to say that 'I' must be interpretations of
>> 'I|union(G,G1)', etc. Ie, 'G', the default graph, contains
>> "universal" truths. As Antoine says, this may be a parametrization of
>> the dataset itself, because this may be too much to ask in some
>> cases. To be seen (for me, I must say, this universal truth approach
>> sounds more natural)
>> 
>> 2. I would note that neither this approach nor Antoine's, nor, in
>> fact (I believe) Pat's quad approach touches upon the other
>> discussion on named graphs that we are having, namely the exact
>> relationships between '<ni>' and 'Gi'. In these semantic approaches
>> the uri-s merely serve as classifiers. Whether we have some GET
>> Semantics or SameAs semantics or whatever attached to'<ni>' and it
>> corresponding 'Gi' is to be defined separately. Semantically, what
>> this means that the default graph, ie, 'G', may include some
>> additional
>> 
>> (ni, rdf:type, rdf:GETSemanticsClass)
>> 
>> triples, but where the 'semantics' will not be expressed in terms of
>> semantic conditions. Which I think is fine with me, just wanted to
>> make it clear and it may be worth separating the two discussions in
>> the group explicitly...
> 
> True, but this is difficult to put in the formal semantics as model theory is only interested in what is true from a given logical theory. It does not normally deal with behaviour, what an application should *do*. That is why owl:imports does not have a particularly constraining model theoretic semantics. The mechanism behind owl:imports is defined outside the semantic documents.

I *think* I understand what you say, and it does not seem to contradict what I said: what, say, rdf:GETSemanticClass means is defined outside the model theoretic semantics. That is what I meant at least.

Ivan

> 
> Similarly, we can very well define mechanisms that have no representation in terms of model theory.
> 
> 
>> Now is my turn to be torn apart by Pat:-)
> 
> Good luck ;)
> 
> 
> AZ
> 
>> 
>> Ivan
>> 
>> ---- Ivan Herman, W3C Semantic Web Activity Lead Home:
>> http://www.w3.org/People/Ivan/ mobile: +31-641044153 FOAF:
>> http://www.ivan-herman.net/foaf.rdf
>> 
>> 
>> 
>> 
>> 
> 
> -- 
> Antoine Zimmermann
> ISCOD / LSTI - Institut Henri Fayol
> École Nationale Supérieure des Mines de Saint-Étienne
> 158 cours Fauriel
> 42023 Saint-Étienne Cedex 2
> France
> Tél:+33(0)4 77 42 83 36
> Fax:+33(0)4 77 42 66 66
> http://zimmer.aprilfoolsreview.com/
> 


----
Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Thursday, 1 March 2012 12:05:52 UTC