GraphStore`
GraphStore`

SPARQLPropertyPath

SPARQLPropertyPath[start, {p1,p2,}, end]

is a pattern object that represents a path in a RDF graph that starts at subject start, visits edges with predicates pi and ends at object end.

Details

  • Each pi can be a predicate IRI or a pattern.
  • The arguments start and end can be an IRI or a SPARQLVariable and end can also be a literal like a number or string.
  • SPARQLPropertyPath[start,{p1,p2,},end] matches a path {RDFTriple[a,f1,b],RDFTriple[b,f2,c],,RDFTriple[y,f2,z]} if MatchQ[{f1,f2,},{p1,p2,}] returns True and start is either a SPARQLVariable or a and end is either a SPARQLVariable or z.
  • The pi can be any combination of the following forms:
  • IRI[]a predicate path
    SPARQLInverseProperty[]an inverse path
    Sequence[]a sequence path
    Alternatives[] (|)an alternative path
    RepeatedNull[] (...)a zero or more path
    Repeated[] (..)a one or more path
    Repeated[,{0,1}]a zero or one path
    Except[]a negated property set (only for predicates, inverse predicates and alternatives thereof)

Examples

open all close all

Basic Examples  (1)

In[1]:=
Click for copyable input

Specify family relations:

In[2]:=
Click for copyable input
In[3]:=
Click for copyable input

Find the grandparents of Scarlett:

In[4]:=
Click for copyable input
Out[4]=

The same query using triple patterns and UNIONs:

In[5]:=
Click for copyable input
Out[5]=

Scope  (1)