Re: reifiesDomain-14 (Re: proposal: a reifier should reify only one "thing")

>> This is actually an error that arises in LPGs, because they have no way
of differentiating #marriage1 from #marriage3.
> It's not true. Most PG definitions or implementations allow you to create
two edges with the same label and different properties.

I'm saying that this is a modelling error with LPGs.  The edge contains the
identifier in the assertion, not the nodes. In an LPG (specifically Neo4J):

(Liz marries Richard) [from 1964; to 1975]

and

(Liz marries Richard) [from 1985]

are distinct because the predicate "marries" carries the (implicit)
identifier, and any query is actually an query on the text of the labels.

This is equivalent to

<<:liz :marries-1 :richard>> [:from 1964 ; to: 1975] .
<<:liz :marries-2 :robert>> [:from 1977 ; to: 1981] .
<<:liz :marries-3 :richard>> [:from 1985] .

:marries-1 rdfs:label "marries" .
:marries-2 rdfs:label "marries" .
:marries-3 rdfs:label "marries" .

The user usually doesn't see the predicate identifiers directly; they only
see the label, so they don't recognize that the first and third statements
actually have different predicates with the same name. That is CERTAINLY
the case for Neo4J; I'm not sure about other LPGs.



*Kurt Cagle*
Editor in Chief
The Cagle Report
kurt.cagle@gmail.com
443-837-8725 <http://voice.google.com/calls?a=nc,%2B14438378725>


On Fri, Apr 19, 2024 at 12:30 PM ddooss@wp.pl <ddooss@wp.pl> wrote:

> Kurt Cagle <kurt.cagle@gmail.com>:
>
> <<#marriage1 | :liz :marries :richard>> a :Event;
>        :bride :liz ;
>        :groom :richard ;
>        :startYear 1964 ;
>        :endYear 1975 ;
>        .
>
> This works in the case where Liz later marries Bob:
>
> <<#marriage2 | :liz :marries :robert>> a :Event;
>        :bride :liz ;
>        :groom :robert ;
>        :startYear 1977 ;
>        :endYear 1981 ;
>        .
>
> But gets into trouble when Liz and Richard decide to remarry:
>
> <<#marriage3 | :liz :marries :richard>> a :Event;
>        :bride :liz ;
>        :groom :richard ;
>        :startYear 1985 ;
>        .
>
> This is actually an error that arises in LPGs, because they have no way of
> differentiating #marriage1 from #marriage3.
>
>
> It's not true. Most PG definitions or implementations allow you to create
> two edges with the same label and different properties.
>
> Best,
> Dominik
>
>

Received on Friday, 19 April 2024 19:52:50 UTC