Transformation that rewrites non-recursive property paths into equivalent BGPs and UNIONs.
Property paths in SPARQL (like ex:knows/ex:name or ex:knows|ex:worksWith) are
syntactic sugar for more complex patterns. This transformation expands them into
their equivalent algebraic form, which is necessary because the mapping-based
rewriting operates on individual triple patterns.
Supported Path Types:
Link (<predicate>): Simple triple pattern
Alt (path1|path2): UNION of alternatives
Seq (path1/path2): JOIN with intermediate variables
Inv (^path): Swaps subject and object
NPS (!(<p1>|<p2>)): Negated property set (FILTER NOT IN)
ZeroOrOne (path?): UNION with empty match case
Not Fully Supported:
ZeroOrMore (path*): Returns original (recursive, cannot be fully expanded)
OneOrMore (path+): Returns original (recursive, cannot be fully expanded)
Transformation that rewrites non-recursive property paths into equivalent BGPs and UNIONs.
Property paths in SPARQL (like
ex:knows/ex:nameorex:knows|ex:worksWith) are syntactic sugar for more complex patterns. This transformation expands them into their equivalent algebraic form, which is necessary because the mapping-based rewriting operates on individual triple patterns.Supported Path Types:
<predicate>): Simple triple patternpath1|path2): UNION of alternativespath1/path2): JOIN with intermediate variables^path): Swaps subject and object!(<p1>|<p2>)): Negated property set (FILTER NOT IN)path?): UNION with empty match caseNot Fully Supported:
path*): Returns original (recursive, cannot be fully expanded)path+): Returns original (recursive, cannot be fully expanded)