- From: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>
- Date: Fri, 21 Jan 2022 14:31:31 +0100
- To: "Patrick J. Hayes" <phayes@ihmc.org>
- Cc: "public-rdf-star@w3.org" <public-rdf-star@w3.org>
- Message-ID: <8a9958cf-091f-80a3-c63f-127694a5efd6@ercim.eu>
On 20/01/2022 20:16, Patrick J. Hayes wrote: (in a discussion about the difference between ':JoeBiden :presidentOf :USA' and ':JoeBiden :name "Biden"') > > Well – and I am being purely pragmatic here – the former is inherently > and widely understood to be time-constrained, to the point where a > conversation like "Joe Soap was President" ="When?" is quite natural; > whereas name changes are uncommon and when they happen to public > figures, rare enough to be notable (c.f. The Artist formerly known as > Prince, or Cassius Clay//Muhammed Ali). And maybe there is a lead here on establishing good practices about when to use RDF-star vs. classical N-ary relations in plain RDF... If a relationship is immediately identified to be time-constrained (or context-dependant in other ways), then it is probably best to model it as an N-ary relation (or other patterns, such as the one propoed by Pat below). On the other hand, if a relationship was initially thought to be "simple" enough to be modeled as a predicate, and turns out to be more complex (either because of some exceptional cases, such as people changing name), then RDF-star provides a smooth transition from the original modelling to a more detailed one. pa > >> Why is the second one changing a "genuine change to the data" and the >> other not? Why are they different? Would you mind showing me the >> correct way to describe Biden as president? > > There is no "correct way", but my general rule would be, if the > assertion clearly has an implicit "now", then it should include an > explicit time in it. Things like being President are widely thought of > as 'roles', so that the role exists timelessly but the person > occupying it changes from time to time. Hence such cliche's as "The > king is dead: long live the king." Then one way to write this in RDF > would be to have an ontology of roles, so it might look like > > bio:JimmyCarter xx:USPresident "1977-1981"^^xsd:TimeInterval . > > (where I am assuming that XML schema gets to have a time-interval > datatype, so replace this with some other way to trefer to the > timeperiod if you prefer) and we also know, from an ontology called > XX, things like > > xx:USPresident rdf:type xx:TemporallyConstrainedRole . > rdfs:Domain xx:USPresident xx:PresidentsOfUSA . > xx:PresidentsOfUSA rdfs:subClassOf xx:USNativeCitizen . > rdfs:Range xx:USPresident xsd:TImeInterval . > > So that PresidentsOfUSA is an RDFS class of current and former US > Presidents, connecting the time-linked property to the category of > individuals. > > Would that do? Like any such convention, this requires of users of > SPARQL to know enough about how things are represented to be able to > write coherent queries. But that is always the case, however we choose > to write things in RDF. > >> I think Peter put it well when he said thinking about this stuff >> would rot your brain, my brain is definitely rotting right now haha. >> >> It would require a total rewrite of the RDF specs and coming to >> clear, universally accepted, answers to a host of thorny questions. >> >> >> That's a good enough answer to me I guess, but would it still be the >> case if it was just a "widely recognized timestamping convention" at >> the statement level? > > Yes. Suppose we just say, add a timestamp and that's all. Presumably > some timestamps are more exact that others (seconds versus calendar > years, say). So we have one assertion stamped with 2022, another with > 1642705241 Unix time. Are they at the same time? Does the first > assertion hold at the second time (which is inside 2022) or not? This > depends on whether a 'vague' timestamp means 'at some time in the > interval' or 'at all times in the interval' or maybe something else, > depending on what is being asserted. If we are goung to adopt a > convention then we need to answer questions like this, and the answers > have to work for all cases because it will then be baked into the > formalism itself. > > Pat > >> >> Thanks for your time! >> Anthony >> >> On Thu, Jan 20, 2022 at 2:44 PM Patrick J. Hayes <phayes@ihmc.org> wrote: >> >> >> >>> On Jan 19, 2022, at 2:59 AM, 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. >> >> It is just true. It is not true AT a time except in a sense which >> is something like "If you were to ask me if this is true at time >> T, I would say Yes." And of course that idea, of being assented >> to at a time, has a temporal dimension. But that does not imply >> that the truth of the assertion is in any way related to time. It >> is also true /wherever/ it is asserted. Also at any height above >> sea level. Also /however/ it is said. If you whisper "Atomic >> number of sodium is 11" softly it is true; and if you shout it >> loudly it is true. Does this show that the truth of >> the proposition is somehow relative to a range of ways it can be >> said out loud? >> >>> Therefore even that relationship has an extent in time." >> >> No, it doesn't show anything of the kind. If you believe that >> truth must be truth at a time, then it might show that; but that >> obviously begs the question. >> >>> >>> On the Bette Davis example, maybe you can clarify something for >>> me. Do Tarskian truth conditions apply in RDF? >> >> Yes, if I understand your question. LIke most logical semantic >> theories, the RDF semantics is based on Tarskian model theory. Is >> that what you meant? >> >>> Sincere question because I've assumed that recently, but I don't >>> know for sure. '"P" is true if, and only if, P'. >> >> Um…yes, though of course RDF is not remotely expressive enough to >> state the Tarski T sentence. >> >>> Doesn't that imply bounds for temporal validity? >> >> No, of course not. Where in that sentence do you see any >> reference to time? >> >>> >>> If I have this triple: >>> >>> :JoeBiden :presidentOf :UnitedStates >>> >>> Isn't that true only for a period of time? >> >> In a tensed language, where assertions are made at times and we >> can use 'now' and future and past tenses, yes. In a simple >> assertional logic (like RDF, RDFS, OWL, FOL, HOL, …), no. Truth >> in such languages is not relativized to times of assertion. >> >> By the way, even a tense logic would not be suitable for >> recording data. The unmarked case in a tensed logic assertion, ie >> in the 'present tense' without using past or future modalities, >> is asserted as being true "now". But of course "now" when the >> data is recorded or published will not be 'now' when it is used, >> later. So we would still need some way to record and incorporate >> the time the assertion is intended to be about, expressed in some >> untensed way. >> >>> Are we meant to avoid saying things like that? >> >> I wish people would not (though it is more acceptable if it is >> clearly asserted inside some context with a universally >> understood date/time marker. See below.) >> >>> 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. >> >> First, you are ALLOWED to do whatever you want. The issue is, >> will other users be able to understand your meaning wihtout >> getting confused? Where "users" include RDF-valid >> inference engines which might use your RDF together with RDF >> written by others who might be expressing themselves with more >> precision. >> >> I wouldn't have any problem with treating name changes as genuine >> changes to the data rather than a time=related assertion, by the >> way. >> >>> If I'm meant to timestamp my graph, isn't that the same thing as >>> saying it has a temporal validity? >> >> Yes, I agree that some widely recognized timestamping convention >> would allow one to make assertions like this more safely. But >> note that "widely recognized" (avoiding words like 'standard' and >> 'normative'). And relative to your last point, then we would be >> taking the timestamp to be part of the asserted sentence, in some >> way. And as I have explained in earlier posts, once the time (and >> ony other 'contextual' parameters relevant to truth) is included >> into the asserted sentence, that (larger) sentence is simply 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? >> >>> >>> 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 >> >> No, sorry, this is nonsense, and it has nothing to do with >> Tarski. Look, you just contradicted yourself. We "describe" >> future events by asserting sentences (or maybe propositions) >> about them. If these sentences are not (claimed to be) true, then >> we have not made any assertions at all. To describe IS to claim >> truth. >> >>> , 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 >> >> Oh, come on. You did a "quick google" of over a century of >> literature in a field of precise philosophy, much of it using >> fairly heavy mathematics, and that justifies a (false) conclusion? >> >> The Stanford Encyclopedia of Philosophy (widely taken as >> authoritative) has a main article on 'Truth', which says >> ".. for this discussion, sentences are fully >> interpreted sentences, having meanings. We will also assume that >> the sentences in question do not change their content across >> occasions of use, i.e., that they display no context-dependence. >> We are taking sentences to be what Quine (1960) calls ‘eternal >> sentences’." >> The article does not even mention any notion of truth relativized >> to times or other contexts or parameters. >> >>> and it looks like an ongoing debate between tensed and tenseless >>> theories of time, >> >>> and some people arguing that both are valid. >> >> Valid? Of course tensed languages exist and are coherent. Modal >> tense logics have a very elegant semantics, courtesy of Kripke, >> and have been very thoroughly studied. My point is not that they >> are somehow 'invalid", but that RDF is not one of them. And I >> assure you that if it were, its semantics would look very >> different than it now does. >> >>> If that's so, does it hurt to add optional time and space >>> positions like I'm suggesting? >> >> It would require a total rewrite of the RDF specs and coming to >> clear, universally accepted, answers to a host of thorny >> questions. For a start, what structure do we presume time to >> have? (A line? Branching futures, so a tree? Or a forest?) >> DIfferent answers yield different notions of validity for tensed >> sentences. >> >> But in any case, adding tenses doesn't help, as noted earlier. >> >> Pat >> >>> 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 (1934) although, contentiously, she was not among the >>> three nominees for the 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> >>>> >>> >> >
Attachments
- application/pgp-keys attachment: OpenPGP public key
Received on Friday, 21 January 2022 13:31:47 UTC