-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A formal background to unify triples and triple terms #87
Comments
I definitely find this correct, meaningful, and useful! A detail: is it clearer to keep |
OK. Moreover, I changed For each interpretation Given a ground graph G and an interpretation I, the set of facts asserted by G is An interpretation We can easily extend the above to non-ground graphs: |
We could add these definitions in RDF-semantics, and then use them in RDF-concepts. |
I mostly like the way this is going. I am OK with the term "propositions" replacing what had been referred to as "quoted triples", but I would like to avoid "facts", "truths", and similar absolutisms. "Assertions", "claims", "statements", "postulates" — something like these would be better. |
Generally, layering of specs would favor definitions that are used in concepts to be defined in concepts, and referenced elsewhere. Semantics layers on top of Concepts. |
Still, these are formal definitions which belong to semantics. As usual, these notion will be introduced in Concepts, but their formal definition should be in Semantics, I believe. |
You suggest not to use the word facts. Remember what are we talking about here:
I am calling facts the set Open to any reasonable alternative name. |
Concretely, which items of terminology are being proposed for RDF Concepts? To semantics, the text in RDF Concept would be description. To someone reading RDF Concepts, they should be able to get a working understanding of the concept (:smile:) without needing to go elsewhere. A See section https://www.w3.org/TR/rdf12-semantics/#notation where there are cross-links. See also w3c/rdf-concepts#118 |
Add the following text at the end of 5.3 Properties of simple entailment in Semantics, introducing three new items of terminology (BTW, I got rid of the word fact): The following semantic properties relate triple terms and asserted triples in a graph. We define the We define the Given a mapping A, we define the The RDF-Concepts spec can use the above three items of terminology while explaining what are triples, asserted triples, and triple terms. I can start a PR with the above additions, if I find enough consensus on this issue. |
And we can add the following as well: We can now have an alternative definition of simple entailment. |
In RDF-Concepts we can say something along the following lines. A triple term denotes a resource of type rdfs:Proposition; the extension of the rdfs:Proposition class corresponds to the set of all possible propositions, as defined in Semantics. |
The list of terminology defined in RDF Semantics is given here: https://www.w3.org/TR/rdf12-semantics/#index For example, semantics does not give a definition "entailment". It defines "entailment regime" For the reader of RDF Concepts, there needs to be text that explains what the intuition is for, "proposition", "asserted" etc . I think that goes in RDF Concepts and the "average reader" does need to jump over to RDF Semantics. (c.f. the introduction to RDF Semantics.)
or
|
I want to avoid calling triples Delving into terms used in philosophy, a couple of quotes -- from https://www.quora.com/What-is-the-difference-between-theory-law-postulate-and-hypothesis-in-physics
from https://philosophy.stackexchange.com/a/53365
With the above as foundation, I think it reasonable and not inaccurate to call triples in the graph (what you've called "facts") postulates, and triple_terms (i.e., triples outside the graph) propositions (what you've called the same). The words "asserted" and "unasserted" play no part. |
Ted, the notion of truth is everywhere in RDF specs. A triple may (or may not) be true in an interpretation. A triple in a graph singles out all the interpretations in which it is true. A triple in a graph means that some relationship, indicated by the predicate, holds true between the resources denoted by the subject and object. A graph entails another graph if all the true facts of the latter are true facts also of the former. I can write in a graph :pi owl:sameAs "3". and this becomes a true fact in the knowledge I am modelling. Good modelling is of course important for RDF, but the semantics of a graph has nothing to do with it. |
I have different comments:
But note, that GEXT(G) ⊆ F ⊆ IPR is always the case because of its definition (most likely the reason for your change), so I would make GEXT(G) = {(I(s),I(p),I(o)) | (s p o.) ∈ G}. (maybe with another name) to still be able to have (copied from above) An interpretation I is a model of a graph G if and only if the following holds: I would still keep RDF semantics as it is but add that as an extra point to make the "truth" more tangible. |
I think you miss one detail. The definition of "facts" as it was made depends on the interpretation function. If |
@doerthe, thanks for the comments, here is my revised text. The following semantic properties relate triple terms and triples asserted in a graph, and they introduce an alternative definition to satisfiability. We define the
We define the
Given a mapping A, we define the
The interpretation RE of triple terms has to map to resources, otherwise IEXT cannot work anymore; moreover, the mapping has to be injective, otherwise the 1-to-1 correspondence with IPR does not hold anymore.
Can you clarify? |
I would mention A in the definition (only because I missed that when I first read), maybe
I needed to read several times to see where the existential quantification has gone (... for some blank node mapping). Maybe: I simply satisfies G if and only if there exists an A such that FEXT(G,I,A) is a subset of F(I).
I thought that the suggestion was that IPR becomes a part of IR. That would mean, that we get for the interpretation if E is a ground triple term, then I(E) = (I(E.s), I(E.p), I(E.o)), In other words, RE would simply become the identity and that is injective anyway. But I see that this is not what you had in mind?
I think that was just me wondering whether the definitions we have here would give us an alternative definition of RDF semantics. We could say that we define the set of facts and if we have a blank node mapping which makes FEXT(G,I,A) a subset of F(I), then I is an interpretation of G. But that was never the goal and I think we should not make it the goal. |
OK.
I'd keep it my way, since this is exactly the original style of the RDF Semantics document; check, e.g., the semantic condition for blank nodes in 5.1 or the definition of simple entailment in appendix C. The document tries to say stuff in natural language, once it is not ambiguous.
Saying that the set IR includes also the set IRxIPxIR sounds extreme, and probably not even well founded, I guess...
It would be cool, but I'd keep it this way, namely as a property stated in 5.3. |
I actually disagree with myself: I would keep the name without "using A", since this name is used as a reference; the definition OTOH is correct. As a matter of fact, the name also disregards the role of I. |
ex:the_Moon ex:made_of ex:cheese . That is not a fact, nor a truth, nor anything like these things. Calling it anything like a fact confuses users, without end, just as problematically as the original RDF treating anything encoded as RDF as true now and for all time, past and future. The failure to consider any notion of temporality or any other variance in perspective that meant there were two (or more) conflicting "truths" describing the same thing(s) has often been treated as a bug in reality, rather than a bug in the RDF specifications, as I believe it to be. I would prefer to fix such, rather than perpetuating it. |
I suggest that you reread the Semantic conditions for ground graphs from Semantics.
I suggest that you reread RDF and Change over Time from Concepts; already the first sentence is "The RDF data model is atemporal: RDF graphs are static snapshots of information." |
I assure you, I understand these things. My comments above are more concerned with the reader who has not participated in any related work, including having sat through no (or only basic) logic classes or other educational opportunities which could have taught them the fancy notation being used here and elsewhere. |
Ahah. Indeed there is a problem once you forced me to change RE from injective partial mapping to injective (total) mapping IRxIPxIR->IR. As an injective total mapping it seems to me that there is a problem indeed, due to the fact that IR is countable infinite. If we say that the injective mapping is partial and finite, the semantics is consistent again. |
@TallTed Are you coming from a logics viewpoint (fundamentally disagreeing with the model theoretic semantics of RDF) or a usability viewpoint (wanting the semantics document to be more accessible to non-logicians)? If it is the latter then I understand your argument; efforts could be made to have non-normative sections to explain the semantics to lay people, albeit in the semantics document or primer. Note that usability of specifications is not just a W3C issue - I just had a deep dive into some OMG specs and they are as dense as they come, without a single logics term in them. They are necessarily dense because they are needed for consistent implementations. One does not read a standard OMG spec to understand the standard; you'd rather read primers or tutorials. |
Note that IR is already countable infinite because of the literals (the numbers alone cause that). At least if D-entailment is included. I am also not happy with the partial mapping. Another option is for example to make that But I am somehow uncomfortable with all these options. Maybe something to discuss in person at some point. I dislike the injectivity but so far I could not find a specific problem. We stay countable if the rest of the universe (the non propositions) is countable, same for higher cardinalities. With the blank node we are not able to quantify over subsets of the universe only over elements. So, no problem so far... |
What makes you unhappy with the partial mapping? It makes perfect sense both formally and from the KR perspective. |
A finite partial mapping will necessarily include all the triple terms mentioned in the graph, and it is well founded. It seems to me that it is still the case that there is a total injective mapping from the codomain of RE to IPR, and that the domain of RE is a subset of IPR including the actual triple terms asserted in the graph |
to sum up my viewpoint, given I and a (ground) graph G:
|
You also get this finite mapping by making the interpretation dependent of the vocabulary (and terms) used, but we have been there in RDF 1.0 and I guess it is not that easy to go back. Which concrete problem do you see with the total mapping? I do not ask you to change your mind (at least not yet ;) ). I want to understand the problem better. The domain of discourse is infinite, but that is not really a problem, is it? |
I don't want to go there. By just saying that RE is finite, whenever you have a model, then it has to interpret at least all the finitely many triple terms in the graph - so, nothing changes.
It seems to me that if RE is a total injective mapping from IRxIPxIR to IR, then all the resources will be the denotation of a triple term -- which semantically would be bizarre. Also (but I am ignorant in terms of inclusions among countable infinite sets) the domain of RE (IRxIPxIR) seems to be a countable infinite set of higher rank (whatever this means) than the codomain of RE (just IR); being the mapping injective, I don't know whether this is even possible. So, just to avoid to face these issues, I put RE to be finite partial injective. The whole picture does not change at all, so I would be happy. |
That is not the case. Let's assume that our domain of discourse is countable infinite and that we can count our iris and literals. Then, I can also count my triple terms which I can construct using these iris and literals. I call these "simple triple terms". I can then also count the triple terms which contain simple triple terms, I can construct a combined counting, go further.... All remains countable and therefore I will be able to find an interpretation which maps injecively into my domain of discourse. As it is not fixed what exactly a term denotes (with the exception of literals), I can always do the "Hotel Hilbert" trick.
This does not exist. There is always a bijection between two infinite countable sets. To get higher in terms of cardinality, we need to construct the powerset (or use similar tricks). And in my opinion we do not have that here.
I like to have finite models and I like that at least simple entailment without D-entailment gives us finite models if we want them. Is that our goal here? |
A potential problem here is that the mapping might not cover the triple terms in a consequent of an entailment. This would require considerable reworking of the formal basis of entailment, I think. |
[@doerthe]
Of course we are allowed to use standard notations for logic. However, we MUST NOT assume that our readers are familiar with or fluent in such notations, and we SHOULD avoid lexical terms (e.g.,
Absolutely the latter, usability by lay people. |
Not at all. Each entailment decision problem is independent on any other entailment decision problem: in each case, you check inclusion of models for that case. Everything remains the same, the only difference being that there may be less uninteresting models by limiting RE to be finite partial. |
OK.
OK.
No no, also because models are anyway always infinite. New recap: Given I and a (ground) graph G:
|
BTW: what about changing the name of the RE mapping into TTT - standing for transparent triple terms? |
OK about the general argument. But I fear the actual message you want to convey: what should be clear is that we are designing an information systems which stores what the system assumes to be true, so that it can act soundly by answering queries and computing entailments from these assumptions of truth. That's the strong message to convey. This is done, IMHO, by still using the words true/truth, but contextualised to the information system and not to the actual real world.
Yes, and this is done with the metaphor of an agent having its own truths and acting soundly as a consequence. |
I don't understand what are you proposing: which word should be substituted by assertion or judgement?
Anyway, I believe that at this point this discussion belongs to Concepts, and not to Semantics, where these words are necessarily ubiquitous and meant for the layman, but not in the text we are proposing to add in this issue. |
I propose to close this issue and move it to a PR in Semantics, where I add the agreed upon definitions at the end of 5.3 Properties of simple entailment, and to rename the Section 5.3 "Properties of simple entailment and satisfaction". |
Better to leave the issue open until the PR is merged. PS You can put "This closes #" in the PR description and it happens automatically. |
Remember that the way that entailment works in RDF requires total mapping of IRIs. Otherwise a consequent with an IRI that is not in the graph cannot be entailed. The situation with triple terms is the same, I think. |
Those were proposals to replace "fact", even though, as I wrote, I personally think that "fact" works well. |
edited my counter-example below was wrong, thanks to @doerthe for pointing that out. :deepThought :claims << :answer rdf:value "42"^^xsd:integer >> .
_:unrelated rdf:reifies <<( :answer rdf:value "042"^^xsd:integer )>>. it D-entails (if D contains :deepThought :claims << :answer rdf:value "042"^^xsd:integer >> . because the two literals co-denote, so the two triple terms co-denote as well. But with a partial mapping for triple terms, if you remove the 2nd line in G1, the entailment does not hold anymore. (Because some models of the modified G1 do not map the 2nd triple term to anything.) This feels wrong. |
"fact" seems the best of the bunch. |
@pchampin I would prefer to have a total mapping, but in my opinion both options could work. If we give up that the function is total, we will have to give up Grdfs14 (https://www.w3.org/TR/rdf12-semantics/#rdfs_patterns). I think it makes sense to have it, but I also think that its practical impact is rather low. |
I would prefer to have a partial mapping, but in my opinion too both options could work.
Correct, but we have a total function, so everybody is happy and we shouldn't change anything. |
@doerthe thanks for pointing out my mistake.
Nitpicking: the literal mapping is partial; but its restriction on well-formed literals of the recognized datatypes is, by definition total, and that's what relevant here. So yes, essentially, we agree :)
@franconi agreed, I'll stop now :) |
Sorry, I remembered that we changed something but it was not IL but L2V which used to be partial and is total now, so your nitpicking helped me to remember :) |
We can make use of the following definitions to introduce the unified view between triple terms and triples, corresponding to their semantic counterparts propositions and facts respectively.
For each interpretation
I
we define the setIPR
of propositions (i.e., denotation of triple terms) of the interpretation asIPR={ <s, p, o> | s ∈ IR, p ∈ IP, o ∈ IR }
,and the set
F
of all facts of the interpretation asF = { <s, p, o> | <s, o> ∈ IEXT(p) }
,so that the following hold:
I(<<(s p o)>>) ∈ IPR
.F ⊆ IPR
,Given a ground graph G and an interpretation I, the set of facts asserted by G is
GEXT(G) = { (I(s),I(p),I(o)) | (s p o.) ∈ G and <I(s), I(o)> ∈ IEXT(I(p)) }
.An interpretation I is a model of a graph G if and only if the following holds:
I ⊨ G iff GEXT(G) ⊆ F ⊆ IPR
We can discuss here whether this is correct, meaningful, and/or useful.
The text was updated successfully, but these errors were encountered: