- From: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>
- Date: Sun, 16 May 2021 12:50:08 +0200
- To: James Anderson <anderson.james.1955@gmail.com>, public-rdf-star@w3.org
- Message-ID: <e24cffa8-4cde-9891-f3d6-cc35a8b64959@ercim.eu>
James, On 15/05/2021 23:41, James Anderson wrote: > good evening; > > once a decision is reached on how to compare rdf-star triples[1], will that determination not render the issues concerning referential behaviour moot? I don't think so. I consider the two issues to be orthogonal. Regardless of RDF-star, looking at the way sameTerm and the = operator are currently defined in SPARQL: * sameTerm is purely concerned with the syntax (i.e., the terms, which is what one would expect considering the name of the function). * the = operator is more semantic-aware when it comes to literals (42 = 42.0 is true, and 42 = "foo" is an error rather than false). However, when it comes to IRIs (or bnodes, I expect), I don't see any requirement to take into account coreference. In other words, given the following graph :superman owl:sameAs :clark. :superman :can :fly. and a SPARQL engine using an entailment regime that supports owl:sameAs, the following query still returns false: SELECT (:superman = :clark as ?x) {} This is my reading of the SPARQL spec. I admit that only skimmed some parts, but this is also the behavior of 3 implementations that I have just tested. Therefore, going back to RDF-star, I would not be surprised that SELECT (<< :superman :can :fly >> = << :clark :can :fly >> as ?x) {} return false, regardless of the fact that these two embedded triples are required or not to denote the same thing by the formal semantics... > without regard to whether sameness is to be governed by term identity or value equality, in either case, the proposed resolution reads as if the relation is to be determined free of context. I am not sure what you mean here... But if by "free of context" you mean "regardless of the triples stored in the dataset", then I concur. But as pointed out above, this is already the case in standard SPARQL. > on those terms, according to the sense of "referential transparency" which i would think carries over from programming language semantics[2] - and as such, would be one which i would chose to govern my implementation efforts, the embedded triples are referentially transparent. Maybe we have been a little sloppy in our terminology. A more accurate wording of the question might be: "are the constituent terms of an embedded triple (i.e., its subject, predicate and object) referentially opaque or transparent in the context of that embedded triple?". Or, in other words: is the denotation of << :s :p :o >> determined * by the respective denotations of :s, :p and :o (referential transparency), * or by the lexical form of the terms :s, :p :o (referential opacity)? > the longer i have witnessed these discussions, the more they have confounded me. > during the 14.5.2021 call, in particular, where notions which had been discussed in other contexts in relation to n3 were introduced into the discussion, ostensibly in support of the "referential opacity" imperative, i was most confused, as my (mis?)understanding of the n3 situation - from having read the arndt-van-woensel and and berners-lee expositions [3,4], had been the opposite. > > so i re-read arndt [3], again. > as it were, i am left still with the conclusion that, despite the rhetoric, the substance of the argument is that the expressions - in their case the n3 formulae and in the rdf-star case the embedded triples, are necessarily referentially transparent. > were that not the case, much of their argument would not be necessary and other aspects could not succeed. > what [3] describes is various ways to construct interpretation contexts and their consequential semantics. > in all cases, the formulae themselves are transparent: they, themselves, always refer respectively to the same thing. Yes, but what they refer to is not determined by the denotation of their constituent terms. In other words, under the assumption that :a1 and :a2 denote the same thing, the two formulas { :a1 :b :c, :d } and { :a2 :b :c, :d } can still be considered distinct. (I write "can" because, of course, additional rules can still force them to denote the same thing... Again, the "referential opacity" stance is not /forbidding/ such co-reference, it is just making it /not/ mandatory). > > from which perspective, the discussions related to rdf star can never resolve until they shift from the semantics of the triple - which the resolution to #121 will specify, to that of interpretation context(s). > the current approach - to argue about the one as a surrogate for the other, has yet to succeed. What you mean exactly by "interpretation context" is not entirely clear to me... Am I right in assuming that the notion of "interpretation", as defined by the formal semantics, is a close match? pa > > best regards, from berlin, > - - - > [1] : https://github.com/w3c/rdf-star/issues/121 > [2] : https://scholar.google.com/scholar?q=The+Scott-Strachey+Approach+to+Programming+Language+Theory > [3] : http://ceur-ws.org/Vol-2438/paper6.pdf > [4] : https://arxiv.org/pdf/0711.1533.pdf > >
Received on Sunday, 16 May 2021 10:50:15 UTC