Re: do Property Graphs always assert annotated arcs?

Ah, that’s more in-line with much of the other discussion so far in the
group.

I would prefer a model in which it’s not possible to assert a property on a
non-existent edge.  RDF/SPARQL provide us at least two ways to handle edges
that, as a consequence of their properties, should not be considered to
“exist” from the perspective of a query:

 1. Queries can be written to filter out any edges with properties that
indicate that they are not valid (e.g., if we are interested in
considering/recognizing only edges about marriages in existence at a given
time, we should exclude those that have started after that time, or ended
before that time)

 2. We can segregate those edges to a named graph which we exclude from
SPARQL queries.

I have more to say about ways to handle/leverage named graphs, which might
make my 2nd suggestion more palatable, but not sure that this is the right
forum for that.  If the extension I have in mind would solve this issue
with RDF* though, maybe it is...

[image: email_sig_logo_vert.png]

Jeff Lerman

AI Scientist

Mobile: 510-495-4621

www.invitae.com

[image: email_sig_social_linkedin.png]
<https://www.linkedin.com/in/jefflerman/>


On Fri, Aug 30, 2019 at 11:23 AM Olaf Hartig <olaf.hartig@liu.se> wrote:

> Jeff,
>
> These are great examples for cases in which the properties associated with
> edges in a graph may change over time without affecting the existence of
> the edges themselves. However, I think Pierre-Antoine's question was
> focusing on the opposite: does the existence of an edge property always
> assume the existence of the edge with which it is associated.
>
> Olaf
>
> -----Original Message-----
> From: Jeff Lerman <jeff.lerman@invitae.com>
> To: Joshua Shinavier <joshsh@uber.com>
> Cc: Pierre-Antoine Champin <pierre-antoine.champin@univ-lyon1.fr>,
> public-rdf-star@w3.org
> Sent: Fri, 30 Aug 2019 18:27
> Subject: Re: do Property Graphs always assert annotated arcs?
>
> Hi all,
>
> Most of my experience with graphs is with a frame-based approach that most
> closely resembles a triple-store - not explicitly RDF but close enough.
> I’ve been exploring both RDF/triple-stores and PGs as candidates to support
> a new project.  I’ve been following the RDF* discussion with interest.
>
> For what it's worth, I wouldn’t assume that edge-metadata (edge-properties
> in PG world) must be asserted at the time an edge is asserted.  There are a
> variety of scenarios in which one might wish to update that metadata, and
> I’m pretty sure there’s nothing technically preventing such updates in
> existing PG implementations.  For example, one might:
>
>    - update metadata: alter the value of an already-asserted property:value
>    pair (e.g., a newer model indicates that the weight of an edge should be
>    adjusted from 0.2 to 0.8)
>    - add or subtract metadata: assert (or remove) a value for a property
>    that was previously un-populated (or populated), to reflect new
> knowledge
>    we have about a relationship.  The change could be incremental and need
> not
>    affect other properties, so deleting-and-reasserting the edge with all
> of
>    the other pre-existing (and unaffected) properties would be
> inappropriate.
>
> —Jeff
>
>
>
> [image: email_sig_logo_vert.png]
>
> Jeff Lerman
>
> AI Scientist
>
> Mobile: 510-495-4621
>
> www.invitae.com
>
> [image: email_sig_social_linkedin.png]
> <https://www.linkedin.com/in/jefflerman/>
>
>
> On Thu, Aug 29, 2019 at 10:03 AM Joshua Shinavier <joshsh@uber.com> wrote:
>
> > Hi Pierre,
> >
> > Just a quick response from a representative "property graph" user. I have
> > not been active on this list so far, and actually mistook your email for
> a
> > gremlin-users post. So let me just say what I would have said.
> >
> > First of all, property graph frameworks are usually not prescriptive
> about
> > semantics, so your property-qualified edge "means what you want it to
> > mean". At the same time, it is generally not the case that an edge
> > qualified with a property like "since" would be considered to be
> asserted,
> > independently of the property. A canonical example is the TinkerPop toy
> > graph
> > <http://tinkerpop.apache.org/docs/current/reference/#graph-computing>,
> > which has a "weight" property on each edge. The edge created{peter, lop}
> > has a weight of 0.2, which basically means that the statement "Peter is a
> > creator of LOP" is a non-assertion. I read your :since and :until example
> > exactly as you do: the statement spouse{alice, bob} is asserted
> > conditionally on a logical point in time.
> >
> > Josh
> >
> >
> > On Thu, Aug 29, 2019 at 8:36 AM Pierre-Antoine Champin <
> > pierre-antoine.champin@univ-lyon1.fr> wrote:
> >
> >> Hi all,
> >>
> >> here is a question for those on the list who have discussed more than I
> >> have with Property Graph users.
> >>
> >> There seem to be a consensus here that in PG, arcs with metadata are
> >> asserted at the same time as they are annotated. This is reflected in
> the
> >> PG interpretation of RDF*, where:
> >>
> >>     <<:alice :spouse :bob>> :since 2001-02-03^^xsd:date .
> >>
> >> asserts exactly two triples.
> >>
> >> But as I understand, PG people are also likely to express things like:
> >>
> >>     <<:alice :spouse :bob>> :since 2001-02-03^^xsd:date ;
> >>         :until 2004-05-06^^xsd:date .
> >>
> >> if Alice and Bob eventually got divorced.
> >> In that situation, the arc <<:alice :spouse :bob>> should *no longer* be
> >> considered asserted in the graph.
> >>
> >> Question: is this scenario a plausible one in a PG context?
> >>
> >
>

Received on Friday, 30 August 2019 18:56:57 UTC