- From: Anthony Moretti <anthony.moretti@gmail.com>
- Date: Wed, 12 Jan 2022 12:49:53 +1030
- To: Fabio Vitali <fabio.vitali@unibo.it>
- Cc: thomas lörtsch <tl@rat.io>, Doerthe Arndt <doerthe.arndt@tu-dresden.de>, "public-rdf-star@w3.org" <public-rdf-star@w3.org>
- Message-ID: <CACusdfTqO9CZWV17j=vF8tEP-kuYb2KwT0wV8y+q=ENpUGr8Wg@mail.gmail.com>
Cheers Fabio, I've appreciated your support during the entire discussion and your willingness to just bounce around ideas, it's the best attitude. Anthony On Tue, Jan 11, 2022 at 9:07 PM Fabio Vitali <fabio.vitali@unibo.it> wrote: > 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 Wednesday, 12 January 2022 02:20:20 UTC