- From: Paul Tyson <phtyson@sbcglobal.net>
- Date: Wed, 30 Jan 2013 21:38:42 -0600
- To: Holger Knublauch <holger@knublauch.com>
- Cc: semantic-web@w3.org
I appreciate all the comments on this thread, and thanks, Holger, for your elaboration. See additional responses below. On Thu, 2013-01-31 at 11:42 +1000, Holger Knublauch wrote: > My guess whether people want to use SPIN or not depends on their > background. Clearly for many programmers it is better to take full > control without having another execution engine in the middle. Also the > complexity of the RDF syntax (which basically required the use of a > tool) was a show stopper for some. Well, the complexity is just in the nature of the thing. If your choices are to write a SPARQL parser and serializer or write an application using an RDF model, I'll take the latter (especially if most of the work can be done using SPARQL and Turtle). > The latter problem has been addressed > though, see my email announcing the Turtle-friendly simplified SPIN > syntax [1]. This is not a feature I would be interested in, but I suppose it could be a useful shortcut for blocks of SPARQL that can remain opaque. It would of course be necessary to use sp:text if there were features of SPARQL syntax that could not be represented elsewise in SPIN, but I don't believe there are any, are there? > > However, not everyone is a programmer. SPIN addresses a different > problem than executing a bunch of SPARQL queries. It provides a > vocabulary for modeling and sharing the meaning and behavior of semantic > web resources. SPIN definitions can be published as linked data, just > like people share OWL restrictions to clarify the meaning of OWL classes. I think SPIN can help fill the gap between rule languages and SPARQL, in the opposite direction from which RIF is working. SPIN should make it easier to build a complete RDF repository of data+model+rules that can be navigated using linked data principles. One of the early problems I found using SPARQL was conveying meta-information about the variable bindings, e.g. to a downstream XSLT process for transforming srx results. Now that I am generating SPARQL the problem is compounded: how to transmit variable binding information from a structured rule source (e.g. Common Logic) to SPARQL to the sparql results processor--and, along the way, expose information to a template controller to allow initial bindings at execution time. It looks like SPIN can help with this. > > One benefit of using SPIN is that it defines standard properties and > URIs that can limit the proliferation of ad-hoc mechanisms that would > otherwise appear. Yes, and unlike approaches that rely on token replacement or macro expansion, it offers the possibility to preserve, expose, and re-use pertinent business logic across all your linked data applications. > Properties such as spin:rule and spin:constraint > clarify the role of a SPARQL query within a model. Furthermore, the > attachment of those rules and constraints to classes can create much > more maintainable query libraries than plain lists of CONSTRUCTs. (As a > side-bar, David: SPIN rules can also be INSERT/DELETE commands). This > object-oriented attachment also allows execution engines to select which > constraints and rules need to be executed for a given context resource. > > Another key feature of SPIN is the ability to define and share new > SPARQL functions without programming them in Java [5]. Furthermore, SPIN > provides a simple yet powerful template mechanism that allows anyone to > make up their own domain-specific modeling language, even including > visual notations like SPINMap [6]. > > FWIW I have received confirmation from Kingsley that OpenLink Software > is adding some form of SPIN support to their products. AllegroGraph > already supports defining SPIN functions natively, similar to stored > procedures. Needless to say, TopQuadrant has a whole technology stack > built on top of SPIN [2], and some of this is available via free tools > [3] or open source APIs [4]. I hope with the recent generalization of > the SPIN syntax, more companies will adopt it. > > And yes, a full W3C process beyond the Member Submission is still a > possibility. If only those processes were not so time consuming! > Meanwhile I believe the market will decide, and SPIN is already a > de-facto standard in certain areas. Perhaps the W3C folks will take note and reconsider whether SPIN should be tied to RIF future, or if it might have a useful place alongside SPARQL (regardless of how RIF fares). Regards, --Paul > > Regards, > Holger > > [1] http://lists.w3.org/Archives/Public/semantic-web/2013Jan/0147.html > [2] > http://composing-the-semantic-web.blogspot.com/2010/04/spin-technology-stack.html > [3] http://www.topquadrant.com/products/TB_Composer.html > [4] http://topbraid.org/spin/api/ > [5] > http://composing-the-semantic-web.blogspot.com/2009/01/understanding-spin-functions.html > [6] > http://composing-the-semantic-web.blogspot.com/2011/04/spinmap-sparql-based-ontology-mapping.html >
Received on Thursday, 31 January 2013 03:39:11 UTC