SHACL SPIN and JENA

199 views
Skip to first unread message

Jack Hodges

unread,
Jul 31, 2016, 1:49:33 PM7/31/16
to TopBraid Suite Users
Following recommendations I have shifted our implementation of constraints over to SHACL. I must admit that it is quite nice. Now I must ensure that I can execute the SHACL constraints from a Jena API since all of our work is implemented RESTfully outside of any TopQuadrant product. This is a company requirement. My problem, before even attempting to implement this, is the comment about the SHACL open API where Holger said to remove any dependence on SPIN components. In order to efficiently implement SHACL constraints I have implemented many SPIN functions to support SPARQL queries that are part of the SHACL API. So regardless of the SHACL implementation I must have the ability to execute SPIN functions. Has anyone gotten both SHACL and SPIN to work under the Jena APIs? I gave up over a year ago because I couldn't access the SPIN function graphs from the Jena API. I could execute SPARQL queries but nothing with SPIN function references. But perhaps the world has changed since then...Thank you in advance for any pointers.

Jack

Irene Polikoff

unread,
Jul 31, 2016, 2:30:48 PM7/31/16
to topbrai...@googlegroups.com
Jack,

Great to hear that you are liking SHACL. As a small company with limited resources we have made a very significant investment over the last year and a half into SHACL standardization and, before that, into development of SPIN that in many ways served as a foundation for SHACL So, it is very nice to receive positive feedback from users. 

In our commercial products, we will be supporting both SPIN and SHACL in the integrated way for the foreseeable future for exactly the same reason you have described – to let our customers gradually transition to SHACL at their own speed while preserving investments they made into SPIN.

The goal of the open source SHACL API is different. It is there as a reference implementation of the SHACL spec. For this reason, we can’t include in it SPIN support. Further, the open source implementation offers a way for users to experience SHACL (same as with open source SPIN) and make a decision about it. Once a positive decision is made, our hope is that the users would become customers of our commercial products. If, however, they stay with the open source to build their systems, they should expect to be closing any gaps themselves. We may rethink this strategy should SHACL become very successful and gain enough market share for a company to have a sustainable business from the commercial support fees for the open source components.

Regards,

Irene Polikoff


--
You received this message because you are subscribed to the Google Group "TopBraid Suite Users", the topics of which include the TopBraid Suite family of products and its base technologies such as SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to topbrai...@googlegroups.com
---
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Holger Knublauch

unread,
Jul 31, 2016, 6:36:39 PM7/31/16
to topbrai...@googlegroups.com
Adding to what Irene stated, it is perfectly safe to continue with SPIN functions from SHACL. Even if we untangle the SPIN and the SHACL APIs in the future, you could still use both APIs together - their only overlap would be through the SPARQL queries, and these queries do not care whether a function has been defined as a spin:Function or a sh:Function or a native Java function.

Holger



On 1/08/2016 3:49, Jack Hodges wrote:
Following recommendations I have shifted our implementation of constraints over to SHACL. I must admit that it is quite nice. Now I must ensure that I can execute the SHACL constraints from a Jena API since all of our work is implemented RESTfully outside of any TopQuadrant product. This is a company requirement. My problem, before even attempting to implement this, is the comment about the SHACL open API where Holger said to remove any dependence on SPIN components. In order to efficiently implement SHACL constraints I have implemented many SPIN functions to support SPARQL queries that are part of the SHACL API. So regardless of the SHACL implementation I must have the ability to execute SPIN functions. Has anyone gotten both SHACL and SPIN to work under the Jena APIs? I gave up over a year ago because I couldn't access the SPIN function graphs from the Jena API. I could execute SPARQL queries but nothing with SPIN function references. But perhaps the world has changed since then...Thank you in advance for any pointers.

Jack
Reply all
Reply to author
Forward
0 new messages