- From: Kurt Cagle <kurt.cagle@gmail.com>
- Date: Wed, 24 Apr 2024 17:51:51 -0700
- To: "Sasaki, Felix" <felix.sasaki@sap.com>
- Cc: "ddooss@wp.pl" <ddooss@wp.pl>, Pierre-Antoine Champin <pierre-antoine@w3.org>, "Lassila, Ora" <ora@amazon.com>, RDF-star WG <public-rdf-star-wg@w3.org>
- Message-ID: <CALm0LSGScgMjfEYYM9NC5FPxQw6r-NdbY+z4VdN4qL2dBkbkNA@mail.gmail.com>
> _:a :occurrenceOf << :m | :liz :marriedTo :richard >>; :from 1964; :to 1975 . > _:b :occurrenceOf << :m | :liz :marriedTo :richard >>; :from 1986 . No, because your model is subtly wrong here. The marriage is made up of the intervals(s) when two people were legally considered a married couple. The proper formulation would read: << :m1 | :liz :marriedTo :richard>> :hasInterval _:a , _:b . _:a :from 1964; to 1975, a Class:Interval . _:b from 1986; a Class:Interval . If you wanted to treat this syntactically so that it is similar to LPGs, what you need to do is extend the blank node notation (again, my contention is that this is not an RDF problem but a Turtle one), using the same notation we use for reification, namely: :<<:m1|:liz :marriedTo :richard>> :hasInterval [:a | :from 1964, :to 1975], [:b | :from 1986] . This creates a new named set of triples, and returns the node with the given name :m1 :hasInterval :a , :b. :a :from 1964 . :a :to 1975 . :b :from 1986 . This actually solves the reification problem as well, because you should generally not be reifying a statement with an object literal, but rather indicating that the object's state itself has changed. That is to say, <<:m1 :hasInterval :a>> makes sense because you are saying that the object itself has changed, but <<:m1 :hasStartDate "2021">> does not make sense, because there is no guarantee that :m1 may have the same :startDate (a person gets married, then discovers that their spouse is already married, as one rather pointed example). On the other hand, if you use the notation: :<<:m1|:liz :marriedTo :richard>> :hasInterval [:a | :from 1964, :to 1975], [:b | :from 1986, :to 1986] ,:[ :c | :from 1986 ] . This allows you to say: <<:m1 :hasInterval :b>> :nullifiedDueTo :bigamy. while keeping :c intact. Now, this is a VERY unlikely scenario here, but for time series data, this is a very common problem. When you make a change, you're changing an aspect of the object, not simply modifying a string or number. The simplest example is one where a property has two potential values :on or :off. If you work with non-destructive graphs (and you should be), then it's not enough to say: :light :hasState :on . or :light :hasState :off You have to say when this light was on or off, and this implies a stateful object: :light :hasStates [ :hasState :on; :at "10:22:15"],[ :hasState :off; :at "10:28:15"],[ :hasState :on; :at "10:36:15"] . In this case, each of these are separate blank node entries, but if you wanted to reify them at some later point, you can't explicitly declare that reification. On the other hand, if you did declare a named synonym for a blank node expression, then you could say: :light :hasStates [:t1 | :hasState :on; :at "10:22:15"],[ :t2 | :hasState :off; :at "10:28:15"],[:t3 | :hasState :on; :at "10:36:15"] . You can then make the reification: <<:light :hasStates :t1>> :reason "I went to get a late night snack in the kitchen, so turned the light on.". *Kurt Cagle* Editor in Chief The Cagle Report kurt.cagle@gmail.com 443-837-8725 <http://voice.google.com/calls?a=nc,%2B14438378725> On Wed, Apr 24, 2024 at 2:09 PM Sasaki, Felix <felix.sasaki@sap.com> wrote: > I have a question on > > „ > > The issue is not that it bothers LPG viewers, but whether this can be > rendered in RDF-Star. If you take this assumption naively (a direct > translation) this becomes: > > > > << :m | :liz :marriedTo :richard >> :from 1964; :to 1975 . > > << :m | :liz :marriedTo :richard >> :from 1986 . > > “ > > > > Could a non naive translation make use of different triple occurrences > > https://w3c.github.io/rdf-star/cg-spec/2021-12-17.html#occurrences > > ? > > E.g. > > > > _:a :occurrenceOf << :m | :liz :marriedTo :richard >>; :from 1964; :to > 1975 . > > _:b :occurrenceOf << :m | :liz :marriedTo :richard >>; :from 1986 . > > > > > > - Felix > >
Received on Thursday, 25 April 2024 00:52:45 UTC