I have meanwhile published an updated spec and wrote a blog entry about the new syntax option:

http://composing-the-semantic-web.blogspot.com/2013/01/spin-syntax-simplified.html

SPIN API update to follow shortly.

Holger


On 1/11/2013 19:40, Jerven Bolleman wrote:
Hi Holger,
I do know of at least one company that only gave light-weight support to SPIN in
their database because they wanted to operate on the SPARQL string and
not bother about writing a parser. I have heard similar arguments many
times.
Would they be helped if there was a permissively licensed SPIN RDF to SPARQL text converter they could reuse?

Thus for users of the SPIN API the impact is hopefully almost
non existent.
Great to hear.

Overall I believe it will be beneficial for the SPIN community to have
more publicly available models, no matter whether they use RDF syntax or
text syntax. There are lots of people editing Turtle by hand, and I want
to include those instead of having to change their workflows and enforce
TopBraid on them. As a tool vendor, we can help you with a converter
that takes SPIN text files and converts them to hybrid files that use
sp:text plus the sp:where triples. I can add such a menu item to TBC's
Model menu, for a start. Would this help?
This would be great for many users. I have similar code already for some of my projects. Where I use some other SPARQL generating code and then use the SPIN-API to generate the SPIN RDF.

I hope this makes sense, and I do appreciate your feedback. No decision
has been made yet, and I welcome more opinions and arguments.
The entire thing makes a lot of sense just wanted to make sure the downside of supporting two syntaxes for the same thing is considered.

Regards,
Jerven

Thanks,
Holger


On 1/11/2013 19:07, Jerven Bolleman wrote:
Dear Holger,

First let me thank you again for your hard work on SPIN. I can't
emphasize enough how much I like the SPIN concepts.

Now I can completely understand the thinking behind this wish for
SPARQL contents as a text string. Unfortunately, I am also worried
that tools will support one or the other of the syntaxes i.e. ones
that just grep out the sp:text and run those queries, won't support
the rdf model. i.e. we will get a lot more half backed support.

I just hope that there  will be tooling to automatically generate the
RDF syntax. I use the RDF syntax a lot (and actually do write parts by
hand at times). Mostly because I have SPIN rules about SPIN rules.
e.g. for some of my purposes every SPIN rule should have a comment and
creator etc... And I would be very disappointed to lose this.

My belief (which might be very wrong) is that SPIN support by
implementers is limited by the lack of a public free test suite to
help them get started. Maybe we the community can work on this?

Regards,
Jerven



On 01/11/2013 07:23 AM, Holger Knublauch wrote:
Dear users,

for those interested in SPIN, I would like to get feedback on a small
internal change with potentially large implications.

Many people over the years (most recently [1]) have suggested that the
SPIN RDF syntax (representing SPARQL in RDF) is too hard to use in
conjunction with text editors and puts unnecessary obstacles in the way
of implementors.

What I'd like to add is some flexibility that makes the SPIN RDF syntax
no longer mandatory to encode SPIN rules, constraints, functions etc.

Here is how the pure textual SPIN syntax would look like

ss:Rectangle
   spin:rule [
       rdf:type sp:Construct ;
       sp:text """
             # Computes area := width * height
             CONSTRUCT {
                 ?this ss:area ?area .
             }
             WHERE {
                 ?this ss:width ?width .
                 ?this ss:height ?height .
                 BIND ((?width * ?height) AS ?area) .
             }
             """^^xsd:string ;
     ] ;

In other words, the SPARQL query is embedded as entered into the file
and more easy to read for people examining the Turtle source code.

Another example, this time with an even more compact single-line string:

ss:Square
   rdf:type rdfs:Class ;
   spin:constraint [
       rdf:type sp:Ask ;
       sp:text "ASK WHERE { ?this ss:width ?width .  ?this ss:height
?height .  FILTER (?width != ?height) .  }"
     ] ;
   rdfs:label "Square"^^xsd:string ;
   rdfs:subClassOf ss:Rectangle .

sp:text was already supported since the beginning, so the only change
that I want to make is to remove the need to use the RDF syntax if
sp:text is present. I expect that for most people who use SPIN through
TopBraid, the RDF syntax will remain the preferred storage mechanism,
because it does have several advantages:
- allows structural analysis and walking through the RDF graph
- makes it easier to find references to properties etc
- usages of properties and resources within queries get automatically
renamed
- no need to ever worry about prefixes

With those changes I hope to attract more external users and
implementations that will eventually grow the size of the SPIN
community.

Feedback welcome.

Thanks,
Holger


[1] http://lists.w3.org/Archives/Public/public-vocabs/2013Jan/0079.html







--
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
Network (EVN), TopBraid Composer, TopBraid Live,
TopBraid Ensemble, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
--- 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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to