- From: Jeff Lerman <jeff.lerman@invitae.com>
- Date: Fri, 30 Aug 2019 11:56:22 -0700
- To: Olaf Hartig <olaf.hartig@liu.se>
- Cc: Joshua Shinavier <joshsh@uber.com>, Pierre-Antoine Champin <pierre-antoine.champin@univ-lyon1.fr>, "public-rdf-star@w3.org" <public-rdf-star@w3.org>
- Message-ID: <CAN=xiJ+mhRQNYazQC7Eum1xWaFbU6XcQtFfOK7kE0wCYg7nQnw@mail.gmail.com>
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