Re: Three ideas

Earlier I wrote:
>
> Because the past is different to the future and can be described in a
> Tarskian sense there doesn't need to be a concept of "not existing".
>

Was rushing that, meant to say "stopping existing", was trying to answer
your question about that.

Regards
Anthony

On Thu, Jan 20, 2022 at 10:53 AM Anthony Moretti <anthony.moretti@gmail.com>
wrote:

> Hi Pete
>
> Perfect timing. I just replied to Peter saying that I'm only continuing
> the exploration because there hasn't been strong pushback. This is what the
> discussion needs.
>
>   "In RDF-Star, people are creating events by annotating triples with
>> start and end times,"
>> Who are these people? All I've seen is a (poorly chosen IMO) example in
>> the CG document. I don't know of, and find it hard to conceive of,
>> anyone sensibly doing this in a real system since it's just a poor modeling
>> choice that will struggle to meet most use cases where the *event*
>> matters.
>>
>
> Yes, the celebrity marriage example is what started my interest, then more
> examples were given by others in the longer thread, so maybe it's a pattern
> that is going to (naturally in my view) pick up usage, but I could be
> wrong. When you say "event", in my view that's just another way to describe
> a relationship, binary or n-ary, that has an extent in time. If you think
> about it, that's all an event is. Whether events with IDs are more useful
> than events described without them is subjective, and might be influenced
> by the fact that a way to express them without IDs hasn't existed yet, but
> it's very useful to have your view on this because it comes from experience
> that I don't have.
>
> RDF has no way to express "X rdf:createdAt T1" or "X rdf:destroyedAt T2"
>> or "X rdf:hasLifetime [a rdf:Period; start:T1; end:T2]. And good luck with
>> defining what the real world semantics would be - when does a Person or my
>> Car or a City or a Color or a Product start and stop "existing"?
>>
>
> It doesn't need to be expressed because real things wouldn't be the
> subject or object of a statement until after they exist, everything else is
> a fictional concept that exists as a fictional concept, at the very latest,
> from the moment of any statement about them. Because the past is different
> to the future and can be described in a Tarskian sense there doesn't need
> to be a concept of "not existing".
>
> More generally, I think this is a dangerous path: I think RDF, and
>> RDF-star, provide our basic logic primitives that are there to be built
>> upon to build more sophisticated systems for specific needs. OWL is one
>> example.
>> There may well be useful further such sophisticated systems that add
>> different notions of temporality but it would IMO be egregious to force one
>> specific approach into the core primitive layer. Since that's as primitive
>> as it gets and would not allow alternative approaches that may deal
>> differently with temporality or eschew it completely.
>> To draw a parallel, most enterprise data right now is managed in
>> relational databases: people have done pretty well with SQL not
>> having temporal primitives. And it has allowed a relatively small number of
>> people to build temporal databases, using different approaches, using SQL
>> as is.
>> So please let's not try to overburden RDF-star itself with one specific
>> approach.
>>
>
> That's a totally valid argument and where I said to Peter I don't have
> enough experience to say what the right thing to do is. I see optional time
> and space positions as an intuitive way to solve a lot of modeling
> problems, and if there isn't any harm then yeah put them into the most
> primitive layer possible to have the widest possible benefit. But if people
> with more experience, such as yourself, think the possible harms outweigh
> the possible benefits, then that's what I'm keen to know, and if other
> people share the same view please add more comments. Thanks!
>
> Regards
> Anthony
>
> On Thu, Jan 20, 2022 at 9:59 AM Pete Rivett <pete.rivett@agnos.ai> wrote:
>
>> I'd like to strongly challenge the following from Anthony:
>>   "In RDF-Star, people are creating events by annotating triples with
>> start and end times,"
>> Who are these people? All I've seen is a (poorly chosen IMO) example in
>> the CG document. I don't know of, and find it hard to conceive of,
>> anyone sensibly doing this in a real system since it's just a poor modeling
>> choice that will struggle to meet most use cases where the *event*
>> matters.
>>
>> Overall I agree with Pat.
>> To add, what was implicit in his response, RDF does not even have, and
>> you have not proposed, Anthony, the notion of *existence* in RDF when
>> you write "Things can't be in a relationship if they don't exist yet". RDF
>> has no way to express "X rdf:createdAt T1" or "X rdf:destroyedAt T2" or "X
>> rdf:hasLifetime [a rdf:Period; start:T1; end:T2]. And good luck with
>> defining what the real world semantics would be - when does a Person or my
>> Car or a City or a Color or a Product start and stop "existing"?
>>
>> More generally, I think this is a dangerous path: I think RDF, and
>> RDF-star, provide our basic logic primitives that are there to be built
>> upon to build more sophisticated systems for specific needs. OWL is one
>> example.
>> There may well be useful further such sophisticated systems that add
>> different notions of temporality but it would IMO be egregious to force one
>> specific approach into the core primitive layer. Since that's as primitive
>> as it gets and would not allow alternative approaches that may deal
>> differently with temporality or eschew it completely.
>> To draw a parallel, most enterprise data right now is managed in
>> relational databases: people have done pretty well with SQL not
>> having temporal primitives. And it has allowed a relatively small number of
>> people to build temporal databases, using different approaches, using SQL
>> as is.
>> So please let's not try to overburden RDF-star itself with one specific
>> approach.
>>
>> Regards
>> Pete
>>
>>
>> On Wed, 19 Jan 2022 at 02:59, Anthony Moretti <anthony.moretti@gmail.com>
>> wrote:
>>
>>> Hi Pat! Thanks for joining the discussion!
>>>
>>> I honestly don't mind if all of the ideas I've put forward are wrong,
>>> I'll drop them the second there's a convincing argument against them and be
>>> happy to have learnt things in the process, it just doesn't seem like the
>>> case yet. So, let's jump in!
>>>
>>> That the atomic number of sodium is 11 is simply true. It is not true
>>>> "at a time". To ask when it is true, or to try to give its truth some kind
>>>> of temporal scope or limit, is to commit a category error.
>>>>
>>>
>>> This was the example we talked about in private, and I'll retype what I
>>> said for the benefit of anybody who might be reading. In short I said: "Was
>>> it true ten minutes ago? Yes. Is it true now? Yes. Therefore even that
>>> relationship has an extent in time."
>>>
>>> On the Bette Davis example, maybe you can clarify something for me. Do
>>> Tarskian truth conditions apply in RDF? Sincere question because I've
>>> assumed that recently, but I don't know for sure. '"P" is true if, and only
>>> if, P'. Doesn't that imply bounds for temporal validity?
>>>
>>> If I have this triple:
>>>
>>> :JoeBiden :presidentOf :UnitedStates
>>>
>>> Isn't that true only for a period of time? Are we meant to avoid saying
>>> things like that? What about:
>>>
>>> :JoeBiden :name "Joe Biden"
>>>
>>> He could change his name in the future. It's becoming a bit unclear to
>>> me what I'm allowed to say in RDF or when I'm allowed to say them. If I'm
>>> meant to timestamp my graph, isn't that the same thing as saying it has a
>>> temporal validity?
>>>
>>> And even in a tensed language, we *can* speak of the future. We can even
>>>> speak of futures that we believe will not exist: this happens all the time
>>>> in planning, for example, where a reasoner might decide to not do something
>>>> because it forsees that if it does do it, bad things will happen. So the
>>>> present cannot be a bound. So what is the bound?
>>>
>>>
>>> Yes, I agree we can speak about the future, I made that point earlier in
>>> the thread. We can describe future events in the same way that we can
>>> describe fictional things. But those statements won't be true in a Tarskian
>>> sense until those futures eventuate, hence the present being an upper bound.
>>>
>>> I wonder, do you realize that you are not just arguing with RDF here,
>>>> but with close to 1.5 centuries of formal philosophy of logic? Ever since
>>>> Prior first described tense as a modality, tensed modal logics have been a
>>>> clear subfield, but AFAIK nobody has concluded that all of logic must be
>>>> tensed (still less spatially situated), or that the notion of truth is
>>>> itself inherently temporal in nature.
>>>>
>>>
>>> I just did a quick google of these things and it looks like an ongoing
>>> debate between tensed and tenseless theories of time, and some people
>>> arguing that both are valid. If that's so, does it hurt to add
>>> *optional* time and space positions like I'm suggesting? It feels
>>> intuitive, and I see it as a solution to a lot of modeling problems.
>>>
>>> Regards
>>> Anthony
>>>
>>>
>>> On Wed, Jan 19, 2022 at 5:17 PM Patrick J. Hayes <phayes@ihmc.org>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Jan 17, 2022, at 8:02 PM, Anthony Moretti <anthony.moretti@gmail.com>
>>>> wrote:
>>>>
>>>> If anybody isn't following Pierre-Antoine and me, I'll try to give a
>>>> summary of what I think the problem might be, and I'll follow it with an
>>>> example. There's an example in my last email too, Obama's first term as
>>>> president.
>>>>
>>>> In typical modeling, events have an ID and you can use that ID to find
>>>> statements about the start and end time of the event. If you have
>>>> reoccurring events, like the celebrity marriage example, there's no problem
>>>> because each event is uniquely identified.
>>>>
>>>> In RDF-Star, people are creating events by annotating triples with
>>>> start and end times, and often there are accompanying annotations. If
>>>> there's a reoccurring event, or if the annotations are only about a
>>>> specific part of an event, when you do the expansions you no longer know
>>>> which event the accompanying annotations are about because there are no
>>>> event IDs and the core triples being used as the subject of those
>>>> annotations are identical.
>>>>
>>>> In my view the problem isn't with RDF-Star it's with RDF. I think the
>>>> basic unit of description, the triple, is missing components. Every triple
>>>> describes a relationship and every relationship has an extent in time.
>>>>
>>>>
>>>> Wrong.
>>>>
>>>> Things can't be in a relationship if they don't exist yet
>>>>
>>>>
>>>> Wrong
>>>>
>>>> , and the future is yet to happen, those two things mean that every
>>>> relationship is implicitly lower-bounded by the existence of the things
>>>> being described
>>>>
>>>>
>>>> Wrong
>>>>
>>>> , and implicitly upper-bounded by the present.
>>>>
>>>>
>>>> No, that is all completely mistaken. Relations as such have nothing
>>>> whatever to do with time – unless, of course, they are relations between
>>>> times or other temporal things. And a fact represented by an assertion
>>>> (such as an RDF triple) of a relation holding between things need not  be
>>>> inherently temporal in any way. That the atomic number of sodium is 11 is
>>>> simply true. It is not true "at a time". To ask when it is true, or to try
>>>> to give its truth some kind of temporal scope or limit, is to commit a
>>>> category error.
>>>>
>>>> This is, or should be, simply obvious for facts about mathematics or
>>>> scientific physical data, but it also true of many of the everyday
>>>> asssertions found in ordinary prose. Take for example this, from a
>>>> Wikipedia biography: "<Bette Davis> had her critical breakthrough
>>>> playing a vulgar waitress in *Of Human Bondage
>>>> <https://en.wikipedia.org/wiki/Of_Human_Bondage_(1934_film)>* (1934)
>>>> although, contentiously, she was not among the three nominees for the Academy
>>>> Award for Best Actress
>>>> <https://en.wikipedia.org/wiki/Academy_Award_for_Best_Actress> that
>>>> year." That sentences contains several linked assertions which are (I
>>>> presume) true. But they are not true at any particular time. That Bette
>>>> Davis played the part of a vulgar waitress in the move 'Of Human Bondage'
>>>> in 1934 is TRUE. It is not true-now or true-after-1934 or -after-(5 April
>>>> 1908). It is a simple fact.
>>>>
>>>> Now, you might object that it wasn't true in, say, 1921 (because it
>>>> hadn't happened yet) or 1847 (because Bette Davis didn't exist then), but
>>>> all such claims commit the same mistake, of taking truth to be something
>>>> with a tense. Supose (perhaps at a seance) someone in 1847 had spoken this
>>>> sentence, perhaps in a trance, and it had been carefully recorded at the
>>>> time and then a historian in 1953 had found this record, would people say,
>>>> Wow, what an amazing prediction? Or would they say, So what, it wasn't true
>>>> in 1847, so it wasn't a prediction at all? Your rule would require the
>>>> latter.
>>>>
>>>> Even if one takes the view (which I think you do) that all truth claims
>>>> are tensed, time-relative, and the apparent timelessness of mathematical or
>>>> scientific facts merely hides an implicit universal quantification, so that
>>>> one should understand "the atomic number of sodium is 11" to be shorthand
>>>> for "at all times T, the atomic number of sodium is 11 at time T"; even
>>>> then, that Bette Davis played the part of a vulgar waitress in the
>>>> move 'Of Human Bondage' in 1934, was just as true in 1847 as it is now. Of
>>>> course, nobody knew it was true then, and certainly nobody had any kind of
>>>> epistemic licence to assert it back then; but it was true. That sentence is
>>>> not in any way indexical, so its truth does not depend on when it was
>>>> asserted (unlke, say "Bette Davis will appear in a movie 89 years from
>>>> now"), so if it is true when asserted in 1934 or 2021, then it is equally
>>>> true when asserted in 1847 or indeed any other date. Our ignorance of
>>>> a fact does not make that fact any less true.
>>>>
>>>> And even in a tensed language, we *can* speak of the future. We can
>>>> even speak of futures that we believe will not exist: this happens all the
>>>> time in planning, for example, where a reasoner might decide to not do
>>>> something because it forsees that if it does do it, bad things will happen.
>>>> So the present cannot be a bound. So what is the bound?
>>>>
>>>> Some relationships have narrower extents in time than those two bounds,
>>>> and some relationships have multiple discontinuous extents in time, but
>>>> there's no place in a triple to describe those. Why? A similar idea applies
>>>> to space, some relationships are only true in specific regions of space.
>>>>
>>>>
>>>> I wonder, do you realize that you are not just arguing with RDF here,
>>>> but with close to 1.5 centuries of formal philosophy of logic? Ever since
>>>> Prior first described tense as a modality, tensed modal logics have been a
>>>> clear subfield, but AFAIK nobody has concluded that all of logic must be
>>>> tensed (still less spatially situated), or that the notion of truth is
>>>> itself inherently temporal in nature.
>>>>
>>>>
>>>> I believe a fix for this
>>>>
>>>>
>>>> As the proverb says, if it ain't broken, don't fix it.
>>>>
>>>> Pat
>>>>
>>>> would be optional time and space positions that can be left blank if
>>>> not required:
>>>>
>>>>     Subject Relation Object T1 T2 SpatialBound
>>>>
>>>> With that, event ambiguity is resolved without the need for event IDs.
>>>>
>>>> I'll go into it in another email, but the temporal range should ideally
>>>> be inclusive-start and exclusive-end, so some of my earlier examples
>>>> actually need correction around that.
>>>>
>>>> Here's a more complex example that involves both time and space and
>>>> builds on an example I gave at the beginning of the thread:
>>>>
>>>> Using existing RDF-Star, and mimicking how others appear to be using it:
>>>>
>>>> :BigMac :price-USD 5.66
>>>>     {|
>>>>         :quantitySold 550000000
>>>>         :statedIn :Wikipedia
>>>>         :region :UnitedStates
>>>>         :startTime 2021
>>>>         :endTime 2022
>>>>     |}
>>>>
>>>> Which expands to:
>>>>
>>>> :BigMac :price-USD 5.66
>>>> << :BigMac :price-USD 5.66 >> :quantitySold 550000000
>>>> << :BigMac :price-USD 5.66 >> :statedIn :Wikipedia
>>>> << :BigMac :price-USD 5.66 >> :region :UnitedStates
>>>> << :BigMac :price-USD 5.66 >> :startTime 2021
>>>> << :BigMac :price-USD 5.66 >> :endTime 2022
>>>>
>>>> There's so much ambiguity in both of the above. If the original
>>>> intention was to describe the quantity sold in that specific region during
>>>> that specific time then I think the expansion breaks that, or at the very
>>>> least leaves it open to be broken by further statements if the price ever
>>>> happens to be the same in a different period of time or a different region.
>>>> Also, if the original intention was to say that all of the information was
>>>> stated in Wikipedia, then I think the expansion breaks that too.
>>>>
>>>> A better way might be to use optional time and space positions and a
>>>> "complex statement", which handily also results in metadata being separated
>>>> from additional data:
>>>>
>>>> :BigMac :price-USD 5.66 2021 2022 :UnitedStates
>>>>     { :quantitySold 550000000 }
>>>>     {| :statedIn :Wikipedia |}
>>>>
>>>> Which expands to:
>>>>
>>>> :BigMac :price-USD 5.66 2021 2022 :UnitedStates
>>>> { :BigMac :price-USD 5.66 2021 2022 :UnitedStates } :quantitySold
>>>> 550000000
>>>> << :BigMac :price-USD 5.66 2021 2022 :UnitedStates >> :statedIn
>>>> :Wikipedia
>>>> << { :BigMac :price-USD 5.66 2021 2022 :UnitedStates } :quantitySold
>>>> 550000000 >> statedIn :Wikipedia
>>>>
>>>> Even though this is a complex example, I think the time/space ambiguity
>>>> and metadata ambiguity are both gone now.
>>>>
>>>> In summary, I feel like time and space positions should exist in RDF
>>>> and it would fix some of the problems in RDF-Star too.
>>>>
>>>> Regards
>>>> Anthony
>>>>
>>>>
>>>> On Sat, Jan 15, 2022 at 1:48 PM Anthony Moretti <
>>>> anthony.moretti@gmail.com> wrote:
>>>>
>>>>> I see your point, and I believe that's a valid approach. But I am not
>>>>>> sure everyone wants to commit to that kind of ontological detail. As I
>>>>>> wrote in my previous mail: conflating past and future event into the same
>>>>>> class works well for many practical use cases.
>>>>>>
>>>>>
>>>>> I agree. And, as Pete described, if the classification is important to
>>>>> a reasoner it can be done by the reasoner anyway. My point was just to say
>>>>> that implicit temporal bounds still seem to exist even for that very
>>>>> difficult example, and, by doing that, I was trying to chop away at reasons
>>>>> for not having optional time and space positions.
>>>>>
>>>>> In fact, optional time and space positions might actually help when
>>>>> describing future events because they let you easily set expiry dates for
>>>>> the things you say. For example, if you were planning WebConf2022 and the
>>>>> dates for it were still changing you could release a statement that was
>>>>> valid for only a certain period of time:
>>>>>
>>>>> :WebConf2022 :startDate "2022-04-25"^^xsd:date 2022-01-15 2022-01-21
>>>>>
>>>>> And then if plans change the following week and the event gets pushed
>>>>> back a month, which is happening a lot right now for in-person events (I
>>>>> know WebConf2022 is online), you could release an updated statement that
>>>>> was valid for a new period of time:
>>>>>
>>>>> :WebConf2022 :startDate "2022-05-23"^^xsd:date 2022-01-22 2022-01-28
>>>>>
>>>>> Aside from modeling simplicity, I think the other major argument for
>>>>>> time and space positions is that order of assertion matters.
>>>>>>
>>>>>> ??
>>>>>>
>>>>>> Not in RDF, it does not.
>>>>>>
>>>>>
>>>>> I don't want to say I'm certain of this, but I think for triples that
>>>>> are time/space dependent and then used as the subject or object of another
>>>>> statement (in plain RDF via the use of identifiers) it does seem to matter.
>>>>> The triple needs to be completed first for further statements to make
>>>>> sense, and I think RDF-Star exposes the problem. If that's not the case can
>>>>> someone please give me a counterexample?
>>>>>
>>>>> The "Thomas traveling to Paris" example is a modification of an
>>>>> example Thomas gave in a different thread, and I'm dropping it because, as
>>>>> Pete also notices, it has various issues. The following example (Obama's
>>>>> first term in office) is an example I'm creating myself, but I'm sure
>>>>> people are going to try and do stuff like this because it's already
>>>>> happening with the celebrity marriage example:
>>>>>
>>>>> :BarackObama :presidentOf :UnitedStates
>>>>>     {|
>>>>>         :statedIn :Wikipedia
>>>>>         :startTime 2009
>>>>>         :endTime 2013
>>>>>     |}
>>>>>
>>>>> What was stated in Wikipedia? The incomplete triple or the one
>>>>> completed by the temporal constraints? I think what is meant is the
>>>>> following, with the temporal constraints stated first and as additional
>>>>> data rather than metadata:
>>>>>
>>>>> :BarackObama :presidentOf :UnitedStates
>>>>>     {
>>>>>         :startTime 2009
>>>>>         :endTime 2013
>>>>>     }
>>>>>     {| :statedIn :Wikipedia |}
>>>>>
>>>>> Even if the above format were available, people would probably still
>>>>> try to do something like:
>>>>>
>>>>> :BarackObama :presidentOf :UnitedStates
>>>>>     {
>>>>>         :secretaryOfState :HillaryClinton
>>>>>         :startTime 2009
>>>>>         :endTime 2013
>>>>>     }
>>>>>     {| :statedIn :Wikipedia |}
>>>>>
>>>>> But if the temporal constraints aren't asserted first you have a
>>>>> similar issue upon expansion because HillaryClinton wasn't Secretary of
>>>>> State for his entire presidency, only for his first term.
>>>>>
>>>>> Having optional time and space positions makes the order of assertion
>>>>> clear and the time-dependent triple is completed first before further
>>>>> statements are made. Separating additional data from metadata does the same
>>>>> thing and clarifies what the metadata is about:
>>>>>
>>>>> :BarackObama :presidentOf :UnitedStates 2009 2013
>>>>>     { :secretaryOfState :HillaryClinton }
>>>>>     {| :statedIn :Wikipedia |}
>>>>>
>>>>> RDF(-star) has no such notion. Assuming that what you wrote above is
>>>>>> supposed to be RDF-star (replacing curly brackets with double angle
>>>>>> brackets), then the semantics of RDF-star (directly inherited from RDF)
>>>>>> requires that all four statements are interpretable independently of each
>>>>>> other, and are all considered true (assuming that you "trust"/"accept" the
>>>>>> whole graph as true).
>>>>>>
>>>>>
>>>>> So I guess what I'm saying is that some triples, time/space dependent
>>>>> ones, don't stand on their own and can't be considered true or false, and
>>>>> instead of telling people to avoid them, or telling people to avoid forms
>>>>> like the above whose expansion will include incomplete triples, let's
>>>>> embrace them and design a solution for them. Bonus points that it's a super
>>>>> simple way to model things so it's great for beginners, bonus points that
>>>>> it also handles reoccurring events, bonus points that it solves for our
>>>>> other dimension, space, at the same time.
>>>>>
>>>>> To answer this question, we need to precisely specify the meaning of
>>>>>> each term of the used ontology. Since this is your example, I would expect
>>>>>> you to know... :-)
>>>>>>
>>>>>
>>>>> The original example is Thomas', but aside from that, if there's
>>>>> ambiguity due to the chosen tense for the relation, which ideally shouldn't
>>>>> be a factor, then a lot of that goes away when you have valid times and can
>>>>> then opt for, say, present tense all of the time and have everything still
>>>>> be clear. The point I was trying to make though was that the triples were
>>>>> examples of the above, incomplete triples that need time/space information
>>>>> to complete them.
>>>>>
>>>>> But more importantly, I reiterate my request to be explicit about what
>>>>>> you mean when you write "statement". Each RDF triple makes a statement,
>>>>>> that IS either true or false. However, a given set of RDF triples might
>>>>>> give an description of something else (e.g. an anthony-statement) that
>>>>>> might be deemed *incomplete* for some uses.
>>>>>>
>>>>>> Once we have a clear distinction between rdf-statement and
>>>>>> anthony-statement, then we can discuss whether a given set of
>>>>>> rdf-statements provides a complete and accurate description of a given
>>>>>> anthony-statement.
>>>>>>
>>>>>
>>>>> I'm still not clear what you mean by this, but I'll try to understand.
>>>>> Of the four statement types I proposed the closest to an RDF triple is a
>>>>> "Simple statement", which ideally would just be an RDF triple with optional
>>>>> time and space positions and the ability to have any type of statement as
>>>>> subject or object. A given set of simple statements, which would be
>>>>> provided using a compound statement that also has optional time and space
>>>>> positions, could then provide a complete and accurate description of any of
>>>>> the other statement types. Is that an answer to your question? Sorry if
>>>>> I've still misunderstood.
>>>>>
>>>>> Regards
>>>>> Anthony
>>>>>
>>>>> On Sat, Jan 15, 2022 at 2:26 AM Pete Rivett <pete.rivett@agnos.ai>
>>>>> wrote:
>>>>>
>>>>>> I'd still take a modeling approach rather than ad hoc use of rdf-star
>>>>>> annotations (which, as I pointed out in my last email, we have no way of
>>>>>> documenting a schema for).
>>>>>>
>>>>>> From a modeling point of view I'd argue:
>>>>>> a) for modeling WebConf2022 as a simple Event. You could additionally
>>>>>> and dynamically add the class FutureEvent using the restriction :startTime
>>>>>> > now(). And, indeed PastEvent where :endTime < now().
>>>>>> if needed you could have an additional property :status with values
>>>>>> appropriate to your interest in its lifecycle such as :Conceived,
>>>>>> :Resourced, :Committed, :Announced, :Started, :Completed,
>>>>>> :ProceedingsPublished.
>>>>>>
>>>>>> b) if you're interested in multiple journeys why not actually model
>>>>>> them:
>>>>>>  _journey1 a :Journey ;
>>>>>>   :traveler :Thomas ;
>>>>>>   :destination :Paris ;
>>>>>>   :timing [a :Period;
>>>>>>       :start T1 ;
>>>>>>       :end :T2
>>>>>>   ]
>>>>>> (you probably want an :origin place too)
>>>>>>
>>>>>> Generally I'd caution against trying to use Fictional: it becomes
>>>>>> very subjective. For example is Klingon
>>>>>> https://en.wikipedia.org/wiki/Klingon_language a fictional language?
>>>>>> It originated in a fictional TV series but it has real speakers, works of
>>>>>> literature and a language institute. And an official ISO language code
>>>>>> (@tlh). If Klingon is fictional then why is Esperanto not?
>>>>>>
>>>>>> Pete
>>>>>>
>>>>>> On Thu, 13 Jan 2022 at 18:40, Anthony Moretti <
>>>>>> anthony.moretti@gmail.com> wrote:
>>>>>>
>>>>>>> Earlier Pierre-Antoine wrote:
>>>>>>>
>>>>>>> Ok, let's take another example:
>>>>>>>>
>>>>>>>> :theWebConf2022 a s:Event ;
>>>>>>>>     s:startDate "2022-04-25"^^xsd:date ;
>>>>>>>>     s:endDate "2022-04-29"^^xsd:date .
>>>>>>>>
>>>>>>>> would you consider that those triple will only be valid on
>>>>>>>> 2022-04-25? Or would you argue that this event already exists, even though
>>>>>>>> it has not occurred yet?
>>>>>>>>
>>>>>>>
>>>>>>> This is a great discussion because I don't think time has been given
>>>>>>> the attention it deserves. The following are my current thoughts, I'm happy
>>>>>>> to hear more opinions though.
>>>>>>>
>>>>>>> There's a saying "the future is fiction until it happens". We can
>>>>>>> definitely talk about fictional things, Fabio gives the example of Mickey
>>>>>>> Mouse but you can even include abstract things like numbers, they're mental
>>>>>>> concepts and I'd argue that the concepts exist from the moment they're
>>>>>>> imagined. We can talk about fictional things without problem as long as
>>>>>>> it's understood that they're fictional, this can be explicit by saying
>>>>>>> Mickey Mouse is a FictionalCharacter, or implicit when talking about
>>>>>>> abstract things like numbers. You could create a hierarchy for fictional
>>>>>>> things by duplicating schema-org and prefixing all of the class names with
>>>>>>> "Fictional":
>>>>>>>
>>>>>>> Thing
>>>>>>>     Person
>>>>>>>     Place
>>>>>>>     Event
>>>>>>>
>>>>>>> FictionalThing
>>>>>>>     FictionalPerson
>>>>>>>     FictionalPlace
>>>>>>>     FictionalEvent
>>>>>>>
>>>>>>> I'd argue that past events belong in the first hierarchy and future
>>>>>>> events belong in the second, like so:
>>>>>>>
>>>>>>> FictionalThing
>>>>>>>     FictionalEvent
>>>>>>>         FutureEvent
>>>>>>>
>>>>>>> Pat mentioned Tarskian truth conditions, and I think the WebConf2022
>>>>>>> example fails that, even though it's convenient to describe it like that
>>>>>>> because it matches how you'd describe past WebConfs. It might be more
>>>>>>> accurate to say:
>>>>>>>
>>>>>>> :WebConf2021 a :Event
>>>>>>>     :startDate 2021-04-19
>>>>>>>     :endDate 2021-04-23
>>>>>>>
>>>>>>> :WebConf2022 a :FutureEvent
>>>>>>>     :scheduledStartDate 2022-04-25
>>>>>>>     :scheduledEndDate 2022-04-29
>>>>>>>
>>>>>>> And only once the event has happened, and a reality has occurred
>>>>>>> that can be described, describe it in the first manner like WebConf2021.
>>>>>>>
>>>>>>> Like I said, I'm happy to hear more opinions on all of this though.
>>>>>>>
>>>>>>> So I am still not convinced that triples are the right level of
>>>>>>>> granularity for *systematically *attaching contextual metadata.
>>>>>>>> Following Pat, I prefer to keep rdf-statements dead-simple (1), and model
>>>>>>>> more complex things (like anthony-statements) with a bunch of triples.
>>>>>>>>
>>>>>>>
>>>>>>> Aside from modeling simplicity, I think the other major argument for
>>>>>>> time and space positions is that order of assertion matters. If people
>>>>>>> annotate with start and end times, which they're already doing, then
>>>>>>> expansions don't work correctly. Going with an earlier example:
>>>>>>>
>>>>>>> :Thomas :travelingTo :Paris
>>>>>>>     {
>>>>>>>         :by :Train,
>>>>>>>         :startTime T1,
>>>>>>>         :endTime T2,
>>>>>>>     }
>>>>>>>
>>>>>>> Would expand to:
>>>>>>>
>>>>>>> :Thomas :travelingTo :Paris
>>>>>>> { :Thomas :travelingTo :Paris } :by :Train
>>>>>>> { :Thomas :travelingTo :Paris } :startTime T1
>>>>>>> { :Thomas :travelingTo :Paris } :endTime T2
>>>>>>>
>>>>>>> The first statement is incomplete, neither true or false, and the
>>>>>>> second statement has an incomplete statement as subject. What do either of
>>>>>>> those statements mean? Maybe someone has a better idea, but the only way I
>>>>>>> currently see around it would be custom expansion rules to do with time and
>>>>>>> space, which seems ugly to me.
>>>>>>>
>>>>>>> With time and space positions it would start as:
>>>>>>>
>>>>>>> :Thomas :travelingTo :Paris T1 T2
>>>>>>>     { :by :Train }
>>>>>>>
>>>>>>> Which expands to:
>>>>>>>
>>>>>>> :Thomas :travelingTo :Paris T1 T2
>>>>>>> { :Thomas :travelingTo :Paris T1 T2 } :by :Train
>>>>>>>
>>>>>>> Regards
>>>>>>> Anthony
>>>>>>>
>>>>>>> On Fri, Jan 14, 2022 at 12:19 PM Pete Rivett <pete.rivett@agnos.ai>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Fabio, I don't know if it was deliberate, but it seems to me that
>>>>>>>> using different preciates to bound periods such as :start, :end, :after,
>>>>>>>> :before (and more?) seems to defeat the point (and I think what Anthony was
>>>>>>>> looking for) to allow predictable querying and reasoning.
>>>>>>>> I really think it's premature for rdf-star to embody anything like
>>>>>>>> this. I think we should start with a best practice note as suggested (even
>>>>>>>> that will I think be hard enough to reach consensus on), then after
>>>>>>>> sufficient demonstrated success with applying it for real, we
>>>>>>>> could consider standardizing a specific set of predicates in a separate
>>>>>>>> schema.
>>>>>>>> Which also invites the question "what would a schema for rdf-star *
>>>>>>>> annotation* properties look like, and how could you specify the
>>>>>>>> (required/permitted) use of specific *annotation* properties with
>>>>>>>> specific *regular* properties?".
>>>>>>>>
>>>>>>>> BTW nary relationships need not need be as complex as your
>>>>>>>> examples. Simpler alternatives:
>>>>>>>> _:item1 a :temporaryLocation;
>>>>>>>>      :affects :MonaLisa;
>>>>>>>>      :location :Florence;
>>>>>>>>      :hasPeriod [
>>>>>>>>        :start  "1506"^^xsd:Year;
>>>>>>>>        :end  "1517"^^xsd:Year;
>>>>>>>>      ] .
>>>>>>>>
>>>>>>>> _item1 a :USPresidency [
>>>>>>>>    :holder :RichardNixon;
>>>>>>>>    :hasPeriod [
>>>>>>>>     :start "1969-01-20"^^xsd:dateTime ;
>>>>>>>>     :end "1974-08-09"^^xsd:dateTime.
>>>>>>>> ]
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Pete
>>>>>>>>
>>>>>>>> On Thu, 13 Jan 2022 at 09:48, Fabio Vitali <fabio.vitali@unibo.it>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi!
>>>>>>>>>
>>>>>>>>> > On 13 Jan 2022, at 17:04, Pierre-Antoine Champin <
>>>>>>>>> pierre-antoine.champin@ercim.eu> wrote:
>>>>>>>>> >
>>>>>>>>> > Hi Anthony,
>>>>>>>>> >
>>>>>>>>> > you wrote
>>>>>>>>> >
>>>>>>>>> > > that the temporal validity of any statement is implicitly
>>>>>>>>> lower-bounded by the existence of the things that it talks about,       so
>>>>>>>>> technically the birth-date example is only valid after the birth date of
>>>>>>>>> the person
>>>>>>>>> >
>>>>>>>>> > Ok, let's take another example:
>>>>>>>>> >
>>>>>>>>> > :theWebConf2022 a s:Event ;
>>>>>>>>> >     s:startDate "2022-04-25"^^xsd:date ;
>>>>>>>>> >     s:endDate "2022-04-29"^^xsd:date .
>>>>>>>>> >
>>>>>>>>> > would you consider that those triple will only be valid on
>>>>>>>>> 2022-04-25? Or would you argue that this event already exists, even though
>>>>>>>>> it has not occurred yet?
>>>>>>>>> >
>>>>>>>>> > Without starting to count angels on pinpoints (wondering if a
>>>>>>>>> yet-to-be-born person exists or not), let's be pragmatic: does it make your
>>>>>>>>> knowledge base inconsistent in any way to consider that such triples about
>>>>>>>>> future events are already valid? I don't think so.
>>>>>>>>>
>>>>>>>>> You are adding two more pairs of terms, "valid / non valid" and
>>>>>>>>> "exist / not exist", to an already complex issue. The pairs already in play
>>>>>>>>> are:
>>>>>>>>>
>>>>>>>>> 1) true / false (or not-true?)
>>>>>>>>> 2) asserted / not-asserted.
>>>>>>>>>
>>>>>>>>> True / not true attain to the relationship between statements and
>>>>>>>>> reality (or at least some notion of reality endorsed by logicians and a few
>>>>>>>>> mathematicians). Asserted / not asserted attain to whether we know that the
>>>>>>>>> current dataset contains the statement or not.
>>>>>>>>>
>>>>>>>>> [ Valid / not valid attain to correctness in expressing statements
>>>>>>>>> (e.g., according to an ontology), and exist /not exist attain to physical
>>>>>>>>> or philosophical understanding of reality which makes my mind quiver (Does
>>>>>>>>> Mickey Mouse exist?). ]
>>>>>>>>>
>>>>>>>>> I understand that here is a traditional, albeit vague, connection
>>>>>>>>> in this community between asserted and true, which I respect and uphold.
>>>>>>>>> But whatever is the contrary of true, I do not think there should be a
>>>>>>>>> similar connection between non-asserted and false (or not true).
>>>>>>>>>
>>>>>>>>> Non-asserted triples can be absolutely true (<< :theWebConf
>>>>>>>>> dc:subject :webTechnologies >>), absolutely false (<< :theWebConf :frontFor
>>>>>>>>> :mossadRecruitment >> ), and conditionally true (<< :theWebConf :rating
>>>>>>>>> :FiveStars >> ), depending on a lot of factors (time, location, provenance,
>>>>>>>>> confidence, etc.), and since rdf-star allows us to represent triples
>>>>>>>>> without asserting them, we can use it to express facts about non-asserted
>>>>>>>>> triples without worrying about their actual truth:
>>>>>>>>>
>>>>>>>>> << :theWebConf dc:subject :webTechnologies >>   :accordingTo
>>>>>>>>> :wikipedia.
>>>>>>>>> << :theWebConf :frontFor  :mossadRecruitment >> :accordingTo
>>>>>>>>> :someMadman.
>>>>>>>>> << :theWebConf :rating    :FiveStars >>         :accordingTo
>>>>>>>>> :FabioVitali.
>>>>>>>>>
>>>>>>>>> These triples are all asserted (and true (and valid!)) regardless
>>>>>>>>> of the truth value of their quoted triples. This is exactly what makes
>>>>>>>>> rdf-star very interesting to me.
>>>>>>>>>
>>>>>>>>> Now, using :theWebConf as in your example is somewhat misleading:
>>>>>>>>> you are using an Event, which is an abstract concept of something whose
>>>>>>>>> main characteristic is being temporally and geographically constrained, and
>>>>>>>>> then you ask if there are other temporal constraints associated to it. No,
>>>>>>>>> no, probably not. But you put yourself in an easy situation.
>>>>>>>>>
>>>>>>>>> Let's try with entities which are not events: say, a physical
>>>>>>>>> object, a role, a relationship:
>>>>>>>>>
>>>>>>>>> << :monaLisa :location :Florence >>
>>>>>>>>> << :USA :president :RichardNixon >>
>>>>>>>>> << :MickeyMouse inLoveWith :MinnieMouse >>
>>>>>>>>>
>>>>>>>>> All these triples are NOT absolutely true, and at the same time
>>>>>>>>> they are NOT absolutely false, either.
>>>>>>>>>
>>>>>>>>> Using rdf-star, we can create absolutely-true statements out of
>>>>>>>>> these non-absolutely-true triples:
>>>>>>>>>
>>>>>>>>> << :monaLisa :location :Florence >> :after "1506"^^xsd:Year;
>>>>>>>>> :before "1517"^^xsd:Year .
>>>>>>>>> << :USA :president :RichardNixon >> :start "1969"^^xsd:Year; :end
>>>>>>>>> "1974"^^xsd:Year .
>>>>>>>>> << :MickeyMouse inLoveWith :MinnieMouse >> :accordingTo
>>>>>>>>> :WaltDisney .
>>>>>>>>>
>>>>>>>>> These are trivial rdf-star representations of (simple)
>>>>>>>>> anthony-statements (syntax aside). I fail to see a downside to this.
>>>>>>>>>
>>>>>>>>> The opposite, to adopt "dead-simple statements" seems much worse
>>>>>>>>> to me: adopting n-ary relationships and events and states and opinions
>>>>>>>>> seems SO MUCH MORE COMPLICATED:
>>>>>>>>>
>>>>>>>>> _:item1 a :temporaryLocation;
>>>>>>>>>      :affects :monaLisa;
>>>>>>>>>      :location :Florence;
>>>>>>>>>      :start [
>>>>>>>>>          a :uncertainDate ;
>>>>>>>>>          :after "1506"^^xsd:Year;
>>>>>>>>>      ] ;
>>>>>>>>>      :end [
>>>>>>>>>          a :uncertainDate ;
>>>>>>>>>          :before "1517"^^xsd:Year;
>>>>>>>>>      ] .
>>>>>>>>>
>>>>>>>>> _:item2 a :temporaryState;
>>>>>>>>>      :role :presidency;
>>>>>>>>>      :organization :USA;
>>>>>>>>>      :holder :RichardNixon;
>>>>>>>>>      :startingEvent [
>>>>>>>>>         a :election;
>>>>>>>>>         :date "1969-01-20"^^xsd:dateTime.
>>>>>>>>>      ];
>>>>>>>>>      :endingEvent [
>>>>>>>>>         a :resignation;
>>>>>>>>>         :date "1974-08-09"^^xsd:dateTime.
>>>>>>>>>       ].
>>>>>>>>>
>>>>>>>>> _:item3 a :fictitiousCouple;
>>>>>>>>>      :member :MickeyMouse;
>>>>>>>>>      :member :MinnieMouse;
>>>>>>>>>      :type :Love;
>>>>>>>>>      :inventedBy :WaltDisney.
>>>>>>>>>
>>>>>>>>> You may feel safer with n-ary relationships, i.e. with the
>>>>>>>>> objectification of relationships into abstract entities, but another way to
>>>>>>>>> express this concept is as "reification of triples into blank nodes" which
>>>>>>>>> seems to me exactly what rdf-star is about.
>>>>>>>>>
>>>>>>>>> We have rdf-star. Let's use it.
>>>>>>>>>
>>>>>>>>> Ciao
>>>>>>>>>
>>>>>>>>> Fabio
>>>>>>>>>
>>>>>>>>> >
>>>>>>>>> > So I am still not convinced that triples are the right level of
>>>>>>>>> granularity for systematically attaching contextual metadata. Following
>>>>>>>>> Pat, I prefer to keep rdf-statements dead-simple (1), and model more
>>>>>>>>> complex things (like anthony-statements) with a bunch of triples.
>>>>>>>>> >
>>>>>>>>> >   pa
>>>>>>>>> >
>>>>>>>>> > (1) even if, arguably, RDF-star makes them a little more complex
>>>>>>>>> that they originally were.
>>>>>>>>> >
>>>>>>>>> > On 13/01/2022 03:51, Anthony Moretti wrote:
>>>>>>>>> >> Earlier I wrote:
>>>>>>>>> >> the temporal validity of any statement is implicitly
>>>>>>>>> lower-bounded by the existence of the things that it talks about
>>>>>>>>> >>
>>>>>>>>> >> I wouldn't mind some feedback on this, but I think the temporal
>>>>>>>>> validity of every statement has an implicit upper bound too:
>>>>>>>>> >>
>>>>>>>>> >> Implicit lower bound: Existence of the things being described.
>>>>>>>>> >> Implicit upper bound: Stated time of assertion, otherwise the
>>>>>>>>> present.
>>>>>>>>> >>
>>>>>>>>> >> If that's correct, I can use it to demonstrate optional time
>>>>>>>>> and space positions:
>>>>>>>>> >>
>>>>>>>>> >> It's 2010, and Pierre-Antoine sends me a graph. He puts a
>>>>>>>>> timestamp on his graph by upper-bounding the temporal validity:
>>>>>>>>> >>
>>>>>>>>> >> {
>>>>>>>>> >>     :BarackObama :presidentOf :UnitedStates 2009 _,
>>>>>>>>> >>     :JoeBiden :vicePresidentOf :UnitedStates 2009 _,
>>>>>>>>> >>     :HillaryClinton :secretaryOfStateOf :UnitedStates 2009 _,
>>>>>>>>> >> }
>>>>>>>>> >>     _ 2010
>>>>>>>>> >>
>>>>>>>>> >> It's now 2022, and I'm working on my own graph:
>>>>>>>>> >>
>>>>>>>>> >> {
>>>>>>>>> >>     :JoeBiden :presidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :KamalaHarris :vicePresidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :AntonyBlinken :secretaryOfStateOf :UnitedStates 2021 _,
>>>>>>>>> >> }
>>>>>>>>> >>
>>>>>>>>> >> I trust Pierre-Antoine and remember that he sent me a graph a
>>>>>>>>> long time ago. I do the laziest thing possible and import it unmodified as
>>>>>>>>> a compound statement. The information is incomplete but the OWA means
>>>>>>>>> everything is ok, and the graph is still valid:
>>>>>>>>> >>
>>>>>>>>> >> {
>>>>>>>>> >>     {
>>>>>>>>> >>         :BarackObama :presidentOf :UnitedStates 2009 _,
>>>>>>>>> >>         :JoeBiden :vicePresidentOf :UnitedStates 2009 _,
>>>>>>>>> >>         :HillaryClinton :secretaryOfStateOf :UnitedStates 2009
>>>>>>>>> _,
>>>>>>>>> >>     }
>>>>>>>>> >>         _ 2010,
>>>>>>>>> >>     :JoeBiden :presidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :KamalaHarris :vicePresidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :AntonyBlinken :secretaryOfStateOf :UnitedStates 2021 _,
>>>>>>>>> >> }
>>>>>>>>> >>
>>>>>>>>> >> I do automated flattening of the graph. The information is
>>>>>>>>> incomplete, but the graph is still valid:
>>>>>>>>> >>
>>>>>>>>> >> {
>>>>>>>>> >>     :BarackObama :presidentOf :UnitedStates 2009 2010,
>>>>>>>>> >>     :JoeBiden :vicePresidentOf :UnitedStates 2009 2010,
>>>>>>>>> >>     :HillaryClinton :secretaryOfStateOf :UnitedStates 2009 2010,
>>>>>>>>> >>     :JoeBiden :presidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :KamalaHarris :vicePresidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :AntonyBlinken :secretaryOfStateOf :UnitedStates 2021 _,
>>>>>>>>> >> }
>>>>>>>>> >>
>>>>>>>>> >> I finally get the motivation and I update Pierre Antoine's
>>>>>>>>> statements. The information is now up to date and the graph is still valid:
>>>>>>>>> >>
>>>>>>>>> >> {
>>>>>>>>> >>     :BarackObama :presidentOf :UnitedStates 2009 2017,
>>>>>>>>> >>     :JoeBiden :vicePresidentOf :UnitedStates 2009 2017,
>>>>>>>>> >>     :HillaryClinton :secretaryOfStateOf :UnitedStates 2009 2013,
>>>>>>>>> >>     :JoeBiden :presidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :KamalaHarris :vicePresidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :AntonyBlinken :secretaryOfStateOf :UnitedStates 2021 _,
>>>>>>>>> >> }
>>>>>>>>> >>
>>>>>>>>> >> I decide to send it back to Pierre-Antoine, and I put a
>>>>>>>>> timestamp on my graph:
>>>>>>>>> >>
>>>>>>>>> >> {
>>>>>>>>> >>     :BarackObama :presidentOf :UnitedStates 2009 2017,
>>>>>>>>> >>     :JoeBiden :vicePresidentOf :UnitedStates 2009 2017,
>>>>>>>>> >>     :HillaryClinton :secretaryOfStateOf :UnitedStates 2009 2013,
>>>>>>>>> >>     :JoeBiden :presidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :KamalaHarris :vicePresidentOf :UnitedStates 2021 _,
>>>>>>>>> >>     :AntonyBlinken :secretaryOfStateOf :UnitedStates 2021 _,
>>>>>>>>> >> }
>>>>>>>>> >>     _ 2022
>>>>>>>>> >>
>>>>>>>>> >> And so it could continue. Spatial validity would be handled
>>>>>>>>> similarly.
>>>>>>>>> >>
>>>>>>>>> >> It's very easy to reason about temporal/spatial validity when
>>>>>>>>> the approach to statements is unified and optional time and space positions
>>>>>>>>> can be used everywhere.
>>>>>>>>> >>
>>>>>>>>> >> Regards
>>>>>>>>> >> Anthony
>>>>>>>>> >>
>>>>>>>>> >> On Wed, Jan 12, 2022 at 12:48 PM Anthony Moretti <
>>>>>>>>> anthony.moretti@gmail.com> wrote:
>>>>>>>>> >> Correction, I was a bit sloppy:
>>>>>>>>> >>
>>>>>>>>> >> In both cases I would leave the time and space positions blank
>>>>>>>>> anyway, so RDF-as-usual.
>>>>>>>>> >>
>>>>>>>>> >> In the second example the space position would be blank, but
>>>>>>>>> not the time positions. I was just trying to agree that yes the second
>>>>>>>>> example isn't place-dependent.
>>>>>>>>> >>
>>>>>>>>> >> Regards
>>>>>>>>> >> Anthony
>>>>>>>>> >>
>>>>>>>>> >> On Wed, Jan 12, 2022 at 12:44 PM Anthony Moretti <
>>>>>>>>> anthony.moretti@gmail.com> wrote:
>>>>>>>>> >> Hi Pierre-Antoine
>>>>>>>>> >> What is not entirely clear to me is how you see the ideas below
>>>>>>>>> interact with RDF-star —or RDF, for that matter...
>>>>>>>>> >>
>>>>>>>>> >> 1) Do you want to modify the core of RDF / RDF-star, replacing
>>>>>>>>> their notion of statement by the one you propose here (time+place
>>>>>>>>> annotated, complex and/or compound)?
>>>>>>>>> >>
>>>>>>>>> >> 2) Or do you want to explore how your proposed notion of
>>>>>>>>> statement could be expressed *on top* of RDF / RDF-star, with no or minimal
>>>>>>>>> modification to them?
>>>>>>>>> >>
>>>>>>>>> >> If the answer is 2 (my favorite option, by the way), then the
>>>>>>>>> idea is to model anthony-statements using a set of rdf-statements (possibly
>>>>>>>>> extended with RDF-star).
>>>>>>>>> >>
>>>>>>>>> >>
>>>>>>>>> >> Ideally:
>>>>>>>>> >> RDF: Time and space positions.
>>>>>>>>> >> RDF-Star: Simple, compound, and complex statements.
>>>>>>>>> >>
>>>>>>>>> >> It would be ideal to put the time and space positions at the
>>>>>>>>> RDF level because, as Pat and Fabio seem to agree, some triples are
>>>>>>>>> time/space dependent and make no sense without that information. They're
>>>>>>>>> not edge cases either, it might seem like that because so far there hasn't
>>>>>>>>> been a way to express them, but there are infinitely many just as there are
>>>>>>>>> infinitely many that aren't time/space constrained. Also, the order of
>>>>>>>>> assertion is important for time/space dependent triples, if anything is to
>>>>>>>>> be said about them, additional data or metadata, then the time/space
>>>>>>>>> constraints need to be asserted first, and time and space positions ensure
>>>>>>>>> that order of assertion.
>>>>>>>>> >>
>>>>>>>>> >> I think it would help the discussion a lot to a) acknowledge
>>>>>>>>> that the word "statement" in this discussion is ambiguous, and b) to be as
>>>>>>>>> explicit as possible about which kind we are talking about.
>>>>>>>>> >>
>>>>>>>>> >> I'm using the word "statement" as a direct replacement for
>>>>>>>>> "sentence", so maybe "sentence" is a better term:
>>>>>>>>> >>
>>>>>>>>> >> sentence:
>>>>>>>>> >> a set of words that is complete in itself, typically containing
>>>>>>>>> a subject and predicate, conveying a statement, question, exclamation, or
>>>>>>>>> command, and consisting of a main clause and sometimes one or more
>>>>>>>>> subordinate clauses.
>>>>>>>>> >>
>>>>>>>>> >> I am uncomfortable with "hard-coding" these 4 dimensions, and
>>>>>>>>> only them, in every possible statement. I think that the relevant
>>>>>>>>> dimensions depend on the relation itself (e.g., the birth-date of a person
>>>>>>>>> is neither time nor place dependent; the president of a country is not
>>>>>>>>> place dependent...). And I don't think that any list of contextual
>>>>>>>>> dimension can be exhaustive.
>>>>>>>>> >>
>>>>>>>>> >> Especially regarding certainty, there are many ways to model
>>>>>>>>> uncertainty (not all of them modelling it with a single value between 0 and
>>>>>>>>> 1, by the way).
>>>>>>>>> >>
>>>>>>>>> >>
>>>>>>>>> >> On the first example you gave, my thoughts are that the
>>>>>>>>> temporal validity of any statement is implicitly lower-bounded by the
>>>>>>>>> existence of the things that it talks about, so technically the birth-date
>>>>>>>>> example is only valid after the birth date of the person, the birth date
>>>>>>>>> happens to be the object of the statement in this case but the idea would
>>>>>>>>> apply to any statement. On the second example, yes I agree its spatial
>>>>>>>>> validity is unbound. In both cases I would leave the time and space
>>>>>>>>> positions blank anyway, so RDF-as-usual.
>>>>>>>>> >>
>>>>>>>>> >> I'm happy to drop "certainty" for the reasons you stated. I've
>>>>>>>>> included it so far because it's another example of where order of assertion
>>>>>>>>> becomes important, for it to make sense it needs to be asserted after time
>>>>>>>>> and space but before metadata. But yes, let's drop it for now.
>>>>>>>>> >>
>>>>>>>>> >> And yes for sure, no list of contextual dimensions can be
>>>>>>>>> exhaustive, but if time and space positions are allowed it ensures those
>>>>>>>>> assertions are made first and the whole framework becomes scalable and
>>>>>>>>> easier to reason about.
>>>>>>>>> >>
>>>>>>>>> >> Do you have any clear definition, or at least guidelines, to
>>>>>>>>> decide whether a piece of information is additional data or metadata?
>>>>>>>>> >>
>>>>>>>>> >> My quick take would be: additional data continues the
>>>>>>>>> description, whereas metadata is description of the description.
>>>>>>>>> >>
>>>>>>>>> >> No widespread need, but logically it could continue,
>>>>>>>>> descriptions of descriptions of descriptions and so on:
>>>>>>>>> >>
>>>>>>>>> >> Simple statement
>>>>>>>>> >>     { Additional data }
>>>>>>>>> >>     {| First-order metadata |}
>>>>>>>>> >>     {| Second-order metadata |}
>>>>>>>>> >>     ...
>>>>>>>>> >>
>>>>>>>>> >> Fabio has a good idea with the note containing examples of good
>>>>>>>>> modeling.
>>>>>>>>> >>
>>>>>>>>> >> Regards
>>>>>>>>> >> Anthony
>>>>>>>>> >>
>>>>>>>>> >> On Wed, Jan 12, 2022 at 8:02 AM Fabio Vitali <
>>>>>>>>> fabio.vitali@unibo.it> wrote:
>>>>>>>>> >> Dear Pierre-Antoine,
>>>>>>>>> >>
>>>>>>>>> >> > 1) Do you want to modify the core of RDF / RDF-star,
>>>>>>>>> replacing their notion of statement by the one you propose here (time+place
>>>>>>>>> annotated, complex and/or compound)?
>>>>>>>>> >>
>>>>>>>>> >>
>>>>>>>>> >> I think with you that RDFstar already provides a lot of what
>>>>>>>>> has been discussed so far.
>>>>>>>>> >>
>>>>>>>>> >> Yet Anthony explicitly mentions (and I agree with him) that
>>>>>>>>> RDFstar has the right approach for single triples, but is lacking in
>>>>>>>>> supporting the needs for complex and compound statements. Working towards
>>>>>>>>> some suggestions to integrate these needs would enrich and complete the
>>>>>>>>> RDFstar proposal.
>>>>>>>>> >>
>>>>>>>>> >> My preference would go towards exploiting named graphs,
>>>>>>>>> explicitly introducing unasserted named graphs that can then be used in
>>>>>>>>> RDFstar in the same way of unasserted triples.
>>>>>>>>> >>
>>>>>>>>> >> > 2) Or do you want to explore how your proposed notion of
>>>>>>>>> statement could be expressed *on top* of RDF / RDF-star, with no or minimal
>>>>>>>>> modification to them?
>>>>>>>>> >>
>>>>>>>>> >> I do not know Anthony's point of view on this, but I believe
>>>>>>>>> that it would be useful to think of a resource providing some thoughtful
>>>>>>>>> and general guidelines on how RDFstar's quoted and annotated triples (as
>>>>>>>>> well as, hopefully, the RDFstar's quoted and annotated named graphs that I
>>>>>>>>> envision) could help in expressing conditional, time-dependent,
>>>>>>>>> location-dependent, uncertain, opinionated and competing statements.
>>>>>>>>> >>
>>>>>>>>> >> What I am thinking is something like, say, a W3C note, on the
>>>>>>>>> lines of https://www.w3.org/TR/swbp-n-aryRelations/ : a document
>>>>>>>>> introducing no new features, but explaining and making examples on how to
>>>>>>>>> use the existing features in a possibly unexpected and innovative way.
>>>>>>>>> >>
>>>>>>>>> >> What do you think?
>>>>>>>>> >>
>>>>>>>>> >> Fabio
>>>>>>>>> >>
>>>>>>>>> >> --
>>>>>>>>> >>
>>>>>>>>> >> > On 11 Jan 2022, at 15:43, Pierre-Antoine Champin <
>>>>>>>>> pierre-antoine.champin@ercim.eu> wrote:
>>>>>>>>> >> >
>>>>>>>>> >> > Hi Anthony,
>>>>>>>>> >> >
>>>>>>>>> >> > thanks for the summary. It's hard to catch up for those of us
>>>>>>>>> who went offline during the break :-)
>>>>>>>>> >> >
>>>>>>>>> >> > On 08/01/2022 10:40, Anthony Moretti wrote:
>>>>>>>>> >> >> Hi
>>>>>>>>> >> >>
>>>>>>>>> >> >> I thought I'd put the ideas I shared during the longer
>>>>>>>>> discussion in one place to make it easier for people to read and give
>>>>>>>>> feedback. I love what's been achieved so far, I just want whatever is
>>>>>>>>> released to be the best possible thing that could be released.
>>>>>>>>> >> > What is not entirely clear to me is how you see the ideas
>>>>>>>>> below interact with RDF-star —or RDF, for that matter...
>>>>>>>>> >> >
>>>>>>>>> >> > 1) Do you want to modify the core of RDF / RDF-star,
>>>>>>>>> replacing their notion of statement by the one you propose here (time+place
>>>>>>>>> annotated, complex and/or compound)?
>>>>>>>>> >> >
>>>>>>>>> >> > 2) Or do you want to explore how your proposed notion of
>>>>>>>>> statement could be expressed *on top* of RDF / RDF-star, with no or minimal
>>>>>>>>> modification to them?
>>>>>>>>> >> >
>>>>>>>>> >> > If the answer is 2 (my favorite option, by the way), then the
>>>>>>>>> idea is to model anthony-statements using a set of rdf-statements (possibly
>>>>>>>>> extended with RDF-star). I think it would help the discussion a lot to a)
>>>>>>>>> acknowledge that the word "statement" in this discussion is ambiguous, and
>>>>>>>>> b) to be as explicit as possible about which kind we are talking about.
>>>>>>>>> >> >
>>>>>>>>> >> > I also have a few comments on the two first ideas:
>>>>>>>>> >> >
>>>>>>>>> >> >> (...)
>>>>>>>>> >> >>
>>>>>>>>> >> >> Summary:
>>>>>>>>> >> >> 1. Optional time, space, and certainty positions.
>>>>>>>>> >> > I am uncomfortable with "hard-coding" these 4 dimensions, and
>>>>>>>>> only them, in every possible statement. I think that the relevant
>>>>>>>>> dimensions depend on the relation itself (e.g., the birth-date of a person
>>>>>>>>> is neither time nor place dependent; the president of a country is not
>>>>>>>>> place dependent...). And I don't think that any list of contextual
>>>>>>>>> dimension can be exhaustive.
>>>>>>>>> >> >
>>>>>>>>> >> > Especially regarding certainty, there are many ways to model
>>>>>>>>> uncertainty (not all of them modelling it with a single value between 0 and
>>>>>>>>> 1, by the way). On that particular topic, you might be interested in this
>>>>>>>>> paper:
>>>>>>>>> https://hal.inria.fr/hal-02167174/file/Publishing_Uncertainty_on_the_Semantic_Web__Bursting_the_LOD_bubbles__Final_Version_.pdf
>>>>>>>>> >> >
>>>>>>>>> >> >> 2. Separating additional data from metadata.
>>>>>>>>> >> > Do you have any clear definition, or at least guidelines, to
>>>>>>>>> decide whether a piece of information is additional data or metadata?
>>>>>>>>> >> >
>>>>>>>>> >> >   best
>>>>>>>>> >> >
>>>>>>>>> >> >> 3. Simple, compound, and complex statements.
>>>>>>>>> >> >> - - -
>>>>>>>>> >> >>
>>>>>>>>> >> >> 1. Optional time, space, and certainty positions
>>>>>>>>> >> >>
>>>>>>>>> >> >> We exist in time and space, and this type of modeling could
>>>>>>>>> possibly be easier. A statement would have four optional positions, leaving
>>>>>>>>> the time and space positions blank would mean "unbounded", and leaving the
>>>>>>>>> last position blank would mean 1.0:
>>>>>>>>> >> >>
>>>>>>>>> >> >> Subject Relation Object T1 T2 SpatialBound Certainty
>>>>>>>>> >> >>
>>>>>>>>> >> >> Examples:
>>>>>>>>> >> >>
>>>>>>>>> >> >> :RichardB :marriedTo :LizT 1964 1974
>>>>>>>>> >> >> :RichardB :marriedTo :LizT 1975 1976
>>>>>>>>> >> >>
>>>>>>>>> >> >> :BigMac :price-USD 7.30 T1 T2 :Switzerland
>>>>>>>>> >> >> :BigMac :price-USD 1.62 T1 T2 :India
>>>>>>>>> >> >>
>>>>>>>>> >> >> If anybody has worked with temporal databases they might see
>>>>>>>>> an analogy with "valid times". By extension, the spatial bound could be
>>>>>>>>> thought of as a "valid place".
>>>>>>>>> >> >>
>>>>>>>>> >> >> 2. Separating additional data from metadata
>>>>>>>>> >> >>
>>>>>>>>> >> >> This would remove a lot of ambiguity and creates a clear
>>>>>>>>> order of assertion. It also seems to match the Wikidata data model.
>>>>>>>>> >> >>
>>>>>>>>> >> >> Example:
>>>>>>>>> >> >>
>>>>>>>>> >> >> :LizT :starredIn :JaneEyre
>>>>>>>>> >> >>     {
>>>>>>>>> >> >>         :role :HelenBurns,
>>>>>>>>> >> >>         :pay-USD 10000,
>>>>>>>>> >> >>     }
>>>>>>>>> >> >>     {|
>>>>>>>>> >> >>         :statedBy :Bob,
>>>>>>>>> >> >>         :statedIn :Wikipedia,
>>>>>>>>> >> >>     |}
>>>>>>>>> >> >>
>>>>>>>>> >> >> 3. Simple, compound, and complex statements
>>>>>>>>> >> >>
>>>>>>>>> >> >> Taking inspiration from linguistics, there could be four
>>>>>>>>> different types of statements:
>>>>>>>>> >> >>
>>>>>>>>> >> >> 1. Simple statement
>>>>>>>>> >> >> 2. Compound statement
>>>>>>>>> >> >> 3. Complex statement
>>>>>>>>> >> >> 4. Compound-complex statement
>>>>>>>>> >> >>
>>>>>>>>> >> >> Simple statement (binary relationship):
>>>>>>>>> >> >> S R O T1 T2 SB C
>>>>>>>>> >> >>
>>>>>>>>> >> >> Compound statement (graph):
>>>>>>>>> >> >> {
>>>>>>>>> >> >>     S R O T1 T2 SB C,
>>>>>>>>> >> >>     S R O T1 T2 SB C,
>>>>>>>>> >> >>     S R O T1 T2 SB C,
>>>>>>>>> >> >> }
>>>>>>>>> >> >>     T1 T2 SB C
>>>>>>>>> >> >>
>>>>>>>>> >> >> Complex statement (n-ary relationship):
>>>>>>>>> >> >> S R O T1 T2 SB C
>>>>>>>>> >> >>     {
>>>>>>>>> >> >>         R O T1 T2 SB C,
>>>>>>>>> >> >>         R O T1 T2 SB C,
>>>>>>>>> >> >>     }
>>>>>>>>> >> >>
>>>>>>>>> >> >> Compound-complex statement (n-ary relationship):
>>>>>>>>> >> >> {
>>>>>>>>> >> >>     S R O T1 T2 SB C,
>>>>>>>>> >> >>     S R O T1 T2 SB C,
>>>>>>>>> >> >>     S R O T1 T2 SB C,
>>>>>>>>> >> >> }
>>>>>>>>> >> >>     T1 T2 SB C
>>>>>>>>> >> >>     {
>>>>>>>>> >> >>         R O T1 T2 SB C,
>>>>>>>>> >> >>         R O T1 T2 SB C,
>>>>>>>>> >> >>     }
>>>>>>>>> >> >>
>>>>>>>>> >> >> This creates consistency, and makes it easy to reason about
>>>>>>>>> the temporal/spatial validity of any graph.
>>>>>>>>> >> >>
>>>>>>>>> >> >> The existing RDF-Star "<<" and ">>" delimiters could be
>>>>>>>>> applied to statements of any type to say that a statement was "neutrally
>>>>>>>>> asserted", as I think Pat has described it before. Maybe for completeness,
>>>>>>>>> and based on something Pat published, other delimiters could be created
>>>>>>>>> that would mean "negatively asserted", something like "<!" and "!>" for
>>>>>>>>> example.
>>>>>>>>> >> >>
>>>>>>>>> >> >> The existing RDF-Star "{|" and "|}" delimiters could be
>>>>>>>>> applied to statements of any type to add metadata. The example in Section 2
>>>>>>>>> of this email is an example of a complex statement with metadata.
>>>>>>>>> >> >>
>>>>>>>>> >> >> And I'm not sure, but it seems that nesting statements could
>>>>>>>>> be a general solution to contexts, the deepest nested statements would be
>>>>>>>>> in the most specific contexts. I haven't examined it properly though.
>>>>>>>>> >> >>
>>>>>>>>> >> >> If you've made it here thanks for reading! If you need more
>>>>>>>>> examples please ask and I'll do my best. I love everything done so far, I
>>>>>>>>> just want to bounce around these additional ideas with the hope that
>>>>>>>>> they're constructive. Please reply with any feedback at all, good and bad,
>>>>>>>>> it's all welcome!
>>>>>>>>> >> >>
>>>>>>>>> >> >> Regards
>>>>>>>>> >> >> Anthony
>>>>>>>>> >> > <OpenPGP_0x9D1EDAEEEF98D438.asc>
>>>>>>>>> >>
>>>>>>>>> > <OpenPGP_0x9D1EDAEEEF98D438.asc>
>>>>>>>>>
>>>>>>>>>
>>>>

Received on Thursday, 20 January 2022 00:43:37 UTC