- From: Fabio Vitali <fabio.vitali@unibo.it>
- Date: Tue, 11 Jan 2022 10:37:08 +0000
- To: Anthony Moretti <anthony.moretti@gmail.com>
- CC: thomas lörtsch <tl@rat.io>, Doerthe Arndt <doerthe.arndt@tu-dresden.de>, "public-rdf-star@w3.org" <public-rdf-star@w3.org>
Dear Anthony, as you know I have much sympathy for your positions. On the other hand I think it is fairly too early to discuss syntax. We are still far from convincing people that there is an actual need for temporal annotations over simple quoted triples, let alone spatial and certainty one (about which I totally agree with you). My guess is that it takes time to accept and digest the effects of expressing without asserting statements, and how they can be used for greater benefits than simply asserted triples. Once we can get there, we can understand how annotating an unasserted triple can be used to express temporal metadata onto it without involving neither Events nor States, but simply boundary conditions. Accepted that, it becomes easy to extend this approach to spatial metadata, certainty metadata, etc. As you notice, this is already possible with simple triples, using RDF-star, but not with compound statements expressed as lists of individual triples, possibly by creating a special type of RDF named graph. Let's keep on exploring the problem space and providing examples on how useful and ultimately simple this can be made. Ciao Fabio > On 11 Jan 2022, at 03:22, Anthony Moretti <anthony.moretti@gmail.com> wrote: > > Can I kindly ask if consideration might be given to the ideas in my most recent email, Three ideas? I think they might solve all of these issues and ambiguities. It's arguably only two ideas because the second idea is just a consequence of the third. > > Three ideas: > 1. Optional time, space, and certainty positions. > 2. Separating additional data from metadata. > 3. Simple, compound, and complex statements. > > I'll work through an example: > > Earlier Thomas wrote: > << :Thomas :travellingTo :Paris >> :by :Train ; :date 10.01.2022 . > > the annotations clearly don’t _necessarily_ invalidate the annotated assertion. They add some detail and in principle that seems only fair as no description can ever be complete. So the most productive and generallly acceptable way to interpret them seems to me to treat them as one composite proposition. > > Thomas' comment is correct but I'd argue that the modeling is incorrect, and it's not his fault. RDF-Star gives you a mechanism to annotate a statement with metadata and it's only natural that people will try to extend a statement with non-metadata because that's what we do with complex sentences. Pat described the well-understood mechanisms of modeling n-ary relations, the second mechanism he described, which he actually argued against, uses a "core fact", as he put it, and subsequent assertions with the core fact as subject. If I'm not wrong that's Thomas' intention above, and in my view it's a totally acceptable way of describing things. The problem above is that once delimiters like "<<" and ">>" are used then that statement should be understood as complete, and every annotation after those delimiters should be understood as metadata. The "one composite proposition", as Thomas describes it, is well understood in linguistics as a "complex sentence". It's generally accepted that there are four types of sentence structure, and we can mirror those with matching statement structures. Using that, the way to model the above would be using a "complex statement": > > :Thomas :travelingTo :Paris > { > :by :Train, > :date 10.01.2022, > } > > Which would expand to: > > { :Thomas :travelingTo :Paris } :by :Train > { :Thomas :travelingTo :Paris } :date 10.01.2022 > > RDF-Star delimiters "<<" and ">>" could be applied to statements of any type if one was wishing to add a single piece of metadata while neutrally asserting the statement: > > << > :Thomas :travelingTo :Paris > { > :by :Train, > :date 10.01.2022, > } > >> > :statedIn :Wikipedia > > Which would expand to: > > << > { :Thomas :travelingTo :Paris } :by :Train, > { :Thomas :travelingTo :Paris } :date 10.01.2022, > >> > :statedIn :Wikipedia > > Which would then expand to: > > << { :Thomas :travelingTo :Paris } :by :Train >> :statedIn :Wikipedia > << { :Thomas :travelingTo :Paris } :date 10.01.2022 >> :statedIn :Wikipedia > > But it should also be possible to positively assert a complex statement and add metadata, like so: > > :Thomas :travelingTo :Paris > { > :by :Train, > :date 10.01.2022, > } > {| > :statedIn :Wikipedia, > |} > > Which would expand to: > > :Thomas :travelingTo :Paris > { :Thomas :travelingTo :Paris } :by :Train > { :Thomas :travelingTo :Paris } :date 10.01.2022 > << :Thomas :travelingTo :Paris >> :statedIn :Wikipedia > << { :Thomas :travelingTo :Paris } :by :Train >> :statedIn :Wikipedia > << { :Thomas :travelingTo :Paris } :date 10.01.2022 >> :statedIn :Wikipedia > > You might still see a problem above and I agree, and that's where the argument for additional time and space positions gets an extra boost. In my view any relationship is an event, and whether it be of zero, finite, or infinite duration it can still be thought of as an event. IMO if you were to describe the situation properly it would be more like: > > :Thomas :travelingTo :Paris T1 T2 > { :by :Train } > {| :statedIn :Wikipedia |} > > Where T1 and T2 indicate valid time. > > This would expand to: > > :Thomas :travelingTo :Paris T1 T2 > { :Thomas :travelingTo :Paris T1 T2 } :by :Train > << :Thomas :travelingTo :Paris T1 T2 >> :statedIn :Wikipedia > << { :Thomas :travelingTo :Paris T1 T2 } :by :Train >> :statedIn :Wikipedia > > The first, incomplete, assertion is nowhere to be seen anymore. > > Combining the three ideas you get a consistent, holistic, and unambiguous approach to binary relationships, n-ary relationships, graphs, and their validity in time and space. > > Regards > Anthony > > On Tue, Jan 11, 2022 at 4:30 AM thomas lörtsch <tl@rat.io> wrote: > > > > Am 10.01.2022 um 14:59 schrieb Fabio Vitali <fabio.vitali@unibo.it>: > > > > Dear Thomas, Dörthe, > > > >>>> If we write: > >>>> > >>>> :Alice :plays :Guitar . > >>>> [] :occurrenceOf <<:Alice :plays :Guitar>> ; > >>>> :stop 2021. > >>>> > >>>> We added some triples (namely [] :occurrenceOf <<:Alice :plays :Guitar>> ; :stop 2021.) which made that our original triple is not true any more. > >> > >> I don’t interpret it that way. Maybe we have a problem of the glass of water being half empty or haf full. The statement > >> > >> :Alice :plays :Guitar > >> > >> is, without a well defined vocabulary from which :plays is taken just an example to make a point. The point that I want to make is that statements can be refined without invalidating them. > > > > I agree. The plain triple on line 1 asserts the fact, and nothing added later can change this assertion. > > > > It never occurred to me that the truth of an annotated triple could be considered in doubt. If it is annotated, the plainly asserted triple is present, and therefore the triple is (expected to be understood as) true. > > Well, I have the impression that this problem is a major concern to the logicians among us and I’m still struggling to fully understand it. > > > One way to solve this problem might be to interpret annotations strictly and only in ways that don’t invalidate the annotated assertion - and if that is not possible discard them. Like if an assertion says: > > :Thomas :travellingTo :Paris . > > and some annotations says > > << :Thomas :travellingTo :Paris >> :by :Train ; :date 10.01.2022 . > > the annotations clearly don’t _necessarily_ invalidate the annotated assertion. They add some detail and in principle that seems only fair as no description can ever be complete. So the most productive and generallly acceptable way to interpret them seems to me to treat them as one composite proposition. > > I know the RDF specs say that each statement is to be understood as one proposition - closed and unrevocable - but it seems to me that in practice this only works if it is interpreted liberally, not strictly. Otherwise we’d need an infinite amount of time-constraint properties, for a start, or didn’t we? > > Further detail may _feel_ constraining, but it may just as well _feel_ axiomatic (in the sense that it adds to the available range of facts). > > I would argue that not even an annotation > > << :Thomas :travellingTo :Paris >> :in :Daydream . > > would invalidate the annotated statement, although this example admittedly does test the limits a bit. > > What would go too far? An annotation > > << :Thomas :travellingTo :Paris >> :never :Happened . > > contradicts the asserted statement so strongly that it should probably be discarded. Or discard the asserted statement, or instead of discarding anything we’d have to find another way to separate the two versions of reality. Anyways those two can’t live in the same graph. The prior examples however can. > > > What bugs me is that we don’t need meta level annotations to get into this kind of problem. Take the following example: > > :Thomas :travellingTo :Paris ; > :livingIn :Hamburg ; > :never :LeavingHome . > > These three assertions are all very legal RDF, yet they contradict each other. Why doesn’t this raise the same level of concern, of alarm even, as the case of statement annotations? Am I missing something? Or is there maybe a little bit of hysteria involved? > > > Just for completeness the n-ary relation equivalent to the initial example: > > :Thomas :travellingTo [ > rdf:value :Paris ; > :by :Train ; > :date 10.01.2022 . > ] > > If I’m not totally misguided this is perfectly valid RDF. IIUC it's the blank node that safes the logic's ass. Is that all that separates legal RDF from dangerous annotations? > > > >> Considering all that I think that it is reasonable to interpret that > >> > >> :Alice :plays :Guitar > >> > >> has a temporal aspect that is not even mentioned here and almost infinitely many other aspects that are also not mentioned, much less provided. > >> > >> There are also aspects of common sense: interpreting the above statement as "Alice plays guitar NOW" runs counter the intuition that there usually is a gap between me making an observation, encoding it in RDF, sending the mail to a list that is archieved on the web, soemone else reading it that would make the 'now' claim rather questionable. Also an interpretation that "Alice ALWAYS plays guitar" is not viable in practice etc etc. I think you get my point: there is, for a human reader, all reason to believe that the above statement doesn’t describe some situation in full. But what we do know is that I stated an observation, namely that Alice plays guitar. And I did indeed observe her playing the guitar, that’s the truth (I swear!). > > > > I agree, but I think that there are THREE, and not two, ways to assign a temporal aspect to an absolute triple: > > > > 1) ALWAYS (or at least beyond the temporal interval of relevance of the dataset). This is my interpretation, for instance, of the triple ":Monalisa dc:creator :leonardoDaVinci", which is true for some interpretations of "always" (even though it was not true before 1513). > > > > 2) NOW (or at least in the moment of the observation of reality by the author of the dataset). This would be my interpretation of the triple ":Alice :plays :Guitar" as well, agreeing with you. > > > > 3) AT LEAST ONCE: there has been at least a moment in time in which the triple was true. This is the only interpretation I can give to the triple ":RichardBurton :marriedTo :LizTaylor", which is not true ALWAYS, and is not true NOW. > > That third one is the one that I actually claimed for the example. Maybe it could be called an existential interpretation: all I say is that said relation is existant (somewhere, sometime, somehow). > > > This means that we have now three separate temporal interpretations of absolute triples and this makes me nervous because they are clearly but not totally incompatible with each other, and one must use common sense to decide which is which. > > Well, the third one is implicit in both first and second as it is very timid in what it claims. The second one will rarely make sense on the semantic web, given the asynchronous mode of communication the web is based on. The first one is a bit of a bummer: while humans will most of the time easily disambiguate ALWAYS and AND LEAST ONCE, machines won’t if they are not backed by a good common sense AI of some kind. Which of course they could be and probably will be in the not too distant future. But it’s important to be aware of such limitations. It’s not just neglect that we don’t have a common sense AI on every smartphone just yet. A LOT of what our semantic web data seems to know is indeed implicit in our heads and in the way we code our programs to make use of that data. > > > Anther thing that makes me nervous is that it seems that the perception of the true temporal aspect differs depending on the triple itself rather than the predicates or the entities involves: > > > >> There is of course a responsibility to keep the semantic web reasonably tidy. Publishing ":Trump :presidentOf :USA" without any further detail and not removing that statement after the last election is kinda lame (well, let’s hope it’s only lame and not on purpose). > > > > In your example, ":Trump :presidentOf :USA" irks us, while ":Biden :presidentOf :USA" does not, because we implicitly assume that :presidentOf should have the NOW semantics (the ALWAYS is clearly incorrect for both, the AT LEAST ONCE is clearly correct for both), but at the same time it seems to me (YMMV) that the triple ":GeorgeWashington :presidentOf :USA" can be seen as less weird than the others, maybe because we (I?) have a different perception of the temporal aspects of facts and roles of historical characters. This is weird and puzzling. > > This is natural language. It comes with many more degrees of freedom and richness of expression than the logic that we use on the semantic web. > > > Similarly we can discuss the geographical/location/jurisdiction aspects of absolute triples, that can be EVERYWHERE, HERE, or AT LEAST SOMEWHERE. > > > > I really do not like absolute statements exactly for this reason. I really wish there were clear guidelines for these cases, and we did not rely on common sense or case-by-case recipes... > > There could most probably be more awareness of these problems and more shared understanding how to best design and use vocabularies to navigate them. But there’ll never be clear guidelines for everything I fear. > > Best, > Thomas > > > Ciao > > > > Fabio > > > > > > -- > > > > Fabio Vitali Tiger got to hunt, bird got to fly, > > Dept. of Computer Science Man got to sit and wonder "Why, why, why?' > > Univ. of Bologna ITALY Tiger got to sleep, bird got to land, > > phone: +39 051 2094872 Man got to tell himself he understand. > > e-mail: fabio@cs.unibo.it Kurt Vonnegut (1922-2007), "Cat's cradle" > > http://vitali.web.cs.unibo.it/ > > > > > > > > > >
Received on Tuesday, 11 January 2022 10:37:24 UTC