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.


[image: email_sig_logo_vert.png]

Jeff Lerman

AI Scientist

Mobile: 510-495-4621

[image: email_sig_social_linkedin.png]

On Thu, Aug 29, 2019 at 10:03 AM Joshua Shinavier <> 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
> <>,
> 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 <
>> 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 16:27:07 UTC