Property Paths
SPARQL property paths enable users to examine the patterns between properties in the data. Property paths reveal the routes between nodes in a graph.
Property Path Syntax
Specify property paths in the predicate part of a triple pattern. Combine predicates using the operators described in the table below. For more information, see the W3C Property Path specification.
Construct | Property Path Expression Name | Description |
---|---|---|
<URI> | PredicatePath | A predicate URI in a triple pattern matches a path length of one. |
^path1 | InversePath | Matches on backwards paths--subject to object. |
path1/path2 | SequencePath | Matches on forward paths--path1 followed by path2. |
path1|path2 | AlternativePath | Matches on either path1 or path2. AnzoGraph finds all possibilities. |
path1* | ZeroOrMorePath | Connects the subject and object of the path by zero or more matches of path1, i.e., path1 repeated zero or more times. |
path1+ | OneOrMorePath | Connects the subject and object of the path by one or more matches of path1, i.e., path1 repeated one or more times. |
path1? | ZeroOrOnePath | Connects the subject and object of the path by zero or one matches of path1, i.e., path1 is optional. |
(path) | N/A | Specifies groups of paths. Use parentheses around groups to control precedence. |
!URI or !(URI1|...|URIn) |
NegatedPropertySet | A negated property path where matches are excluded. The order of URIs is not significant. |
!^URI or !(^URI1| ...|^URIn) |
NegatedPropertySet | Negated property path where the excluded matches are based on a reversed path. The order of URIs is not significant. You can include a combination of forward and reverse properties in a negated property set: !(URI1|...|URIj|^URIj+1|...|^URIn) |