Question: SHACL for describing parameterized operations?

Dear all,

I have a question regarding the potential use of SHACL for a certain use-case,
and I'm wondering if someone here can help me identify whether or not SHACL is a good solution for this.

I am looking for a vocabulary that can declaratively describe RDF results
of a certain operation, based on certain parameters.

For example, assume the following operation can evaluate triple pattern queries:
findMatchingTriples(subject, predicate, object)

As far as I can see, SHACL doesn't provide a way to bind 'variables' to nodes in a shape.
The closest I have come to describing such a triple pattern operation
is using the following (invalid) SHACL shape:

  _:shape a sh:NodeShape;
          sh:targetNode _:subject;
          sh:property [
              sh:path _:predicate;
              sh:hasValue _:object.
          ].

_:subject, _:predicate and _:object refer to the variable parameters of the operation.

I assume I need some kind of abstraction layer above SHACL,
that basically 'instantiates' SHACL shapes based on certain parameters.

So my question is:
is such an abstraction already possible in some form, or are there future plans for something like this?
Or would you suggest using a SPARQL-based vocabulary for this, such as SPIN,
as I don't really need SHACL's validation and constraint checking-features.

Kind regards,
Ruben Taelman

Received on Monday, 28 August 2017 11:41:46 UTC