Closed ch-sander closed 1 month ago
That query isn't doing what you think it does. <>
is not a wildcard. This is a relative URI, relative to the base URI. A wildcard pattern would be ?p*
. However using variables in property paths is not allowed in SPARQL. This is a "considerable limitation" of SPARQL, and has nothing to do with SHACL.
Gosh, I guess I'm still learning... Anyways, I could just create a property path considering all known n properties of the graph to achieve this in SHACL or SPARQL.
You could use something like (!rdf:type)*
(anything except rdf:type)
How is the SHACL config to be defined for some wildcard property that follows any path to some range object? That's easy in SPARQL but I didn't see any way in SHACL.
Can
sh:zeroOrMorePath
be a not defined property? If impossible, it might be a considerable constraint, I find. Maybe the Sparnatural config could also allow for a SPARQL substitute in addition to native SHACLsh:path
processor?