-
Notifications
You must be signed in to change notification settings - Fork 2
Use-case : specify query builder configuration using shapes #16
Comments
These all make sense, but may deserve individual tickets for modularity. |
@tfrancart could you give an example of what such a shape would look? And could you maybe give an example of what he user interface looks like? And what is the output of using this? Is it outputting triples? |
I like to keep the "story" as one, in order not to lose the full picture, but I am OK to split them in separate issues if the need arises.
Yes, the formal specification for this, of course done in SHACL, is documented at http://docs.sparnatural.eu/SHACL-based-configuration.html, the tool is at https://sparnatural.eu/, and it is not outputting triples, but SPARQL queries. |
@tfrancart Did you consider using a shape with SHACL Advanced Features as an intermediate format? Some use cases, like simple min/max ranges, could be covered with plain SHACL. That would remove the requirement for a full SPARQL engine for such simple use cases. |
I don't understand your comment; the tool is a SPARQL query builder to navigate a knowledge graph. Its output is SPARQL, that is its very purpose. |
SHACL-AF extends SHACL to express a SPARQL query in SHACL triples. SPARQL grammar elements like FILTER, MIN, or LIMIT can be expressed in a triple data structure. I see four main benefits of using the SHACL triples over a plain string:
|
I think it's only half true. The relation to SPARQL is not mandated and you may implement SHACL-AF without SPARQL and even entirely on in-memory data, as could be the case of ordering a resultset (re #15 (comment)) |
This is a pure software engineering consideration. We have our own query data structure for this. That data structure is UI-targeted (it is tied to how the UI behaves)
We do persist queries and populate the widget from the above-mentionned, UI-targeted, data-structure.
From a software engineering perspective, SPARQL.js is largely sufficient. This is what we are using to serialize SPARQL strings. This is as close as you can get from a "well-documented standard for a SPARQL query data structure".
Indeed. I don't see much benefits in using this SHACL-oriented-SPARQL-representation in our case. We certainly don't want to use it as an internal data structure. One long-term benefit, mentionned in your 4th point, could be interoperability with other compatible component, but for the moment this seems very far away. If we do anything in this direction we would probably produce the SHACL-AF from our own query representation. |
@tfrancart can you please split this issue into smaller issues? |
I am specifying which classes and properties from a model should be presented in a query builder, using shapes.
xxxx:searchWidget
to property shapes to indicate which value selection widget should be used to assert a criteria on this propertyThe text was updated successfully, but these errors were encountered: