Re: multisets everywhere

Can I kindly ask if consideration might be given to the ideas in my most
recent email, Three ideas
<https://lists.w3.org/Archives/Public/public-rdf-star/2022Jan/0024.html>? 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
<https://en.wikipedia.org/wiki/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 02:24:08 UTC