<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: A new SPIN on enriching a model with domain knowledge (constraints and inferences)</title>
	<atom:link href="http://stage.vambenepe.com/archives/496/feed" rel="self" type="application/rss+xml" />
	<link>http://stage.vambenepe.com/archives/496</link>
	<description>IT management in a changing IT world</description>
	<lastBuildDate>Tue, 09 Mar 2010 22:10:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: William Vambenepe &#8212; OWL news you can use</title>
		<link>http://stage.vambenepe.com/archives/496#comment-97936</link>
		<dc:creator>William Vambenepe &#8212; OWL news you can use</dc:creator>
		<pubDate>Wed, 28 Oct 2009 08:27:26 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-97936</guid>
		<description>[...] (which I blogged about before), from the TopQuadrant guys, who produce the TopBraid tool (their free edition is a great way to [...]</description>
		<content:encoded><![CDATA[<p>[...] (which I blogged about before), from the TopQuadrant guys, who produce the TopBraid tool (their free edition is a great way to [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sylvere</title>
		<link>http://stage.vambenepe.com/archives/496#comment-74876</link>
		<dc:creator>Sylvere</dc:creator>
		<pubDate>Thu, 28 May 2009 20:42:27 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-74876</guid>
		<description>Holger, thanks for you answer, especially since I think that I&#039;m not the first one to ask.
Your answer is complete and exactly what I was looking for.
I will join your group on google and might come back there with a couple of questions.</description>
		<content:encoded><![CDATA[<p>Holger, thanks for you answer, especially since I think that I&#8217;m not the first one to ask.<br />
Your answer is complete and exactly what I was looking for.<br />
I will join your group on google and might come back there with a couple of questions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Holger Knublauch</title>
		<link>http://stage.vambenepe.com/archives/496#comment-74871</link>
		<dc:creator>Holger Knublauch</dc:creator>
		<pubDate>Thu, 28 May 2009 19:50:08 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-74871</guid>
		<description>Sylvere, thanks for your feedback on SPIN. Yes SPIN and SWRL are related: they both have an RDF syntax to embed rules into ontologies. They both have similar expressivity and in this toy example with rectangles and squares you could pick either language. I see various advantages of SPIN over SWRL as below, mostly having to do with SPIN&#039;s use of SPARQL.

- SPIN is more expressive than SWRL because SPARQL is (e.g. you have richer filter expressions and you can really use the semantic web as part of your queries via named graphs).
- SPIN will benefit from the further evolution of SPARQL which is a very active W3C standard with lots of tools. As far as I can tell, SWRL is not actively moved further right now apart from a RIF mapping.
- SPIN is more extensible, e.g. you can create your own functions and templates. With SWRL you are limited to whatever hard-coded execution library has been provided by the engine. SPIN functions are first-class citizens and can be shared together with the data models.
- SPIN has explicit support for constraint checking.
- SPIN is object-oriented and therefore arguably easier to maintain. Also rule execution and constraint checking can be scoped better due to the OO attachment.

You may want to get additional opinions by posting a similar question to the SWRL proponents such as the Protege-OWL 3 people. I have seen some postings there that compare SWRL with SPARQL, but I largely disagree with their conclusions. In particular they seem to claim that only SWRL can use OWL DL semantics, which is untrue because you can of course execute SPARQL on top of a triple store with OWL DL inferencing turned on. For additional questions on SPIN I recommend either contacting me directly or via the TopBraid Composer mailing list http://groups.google.com/group/topbraid-composer-users. Thanks.</description>
		<content:encoded><![CDATA[<p>Sylvere, thanks for your feedback on SPIN. Yes SPIN and SWRL are related: they both have an RDF syntax to embed rules into ontologies. They both have similar expressivity and in this toy example with rectangles and squares you could pick either language. I see various advantages of SPIN over SWRL as below, mostly having to do with SPIN&#8217;s use of SPARQL.</p>
<p>- SPIN is more expressive than SWRL because SPARQL is (e.g. you have richer filter expressions and you can really use the semantic web as part of your queries via named graphs).<br />
- SPIN will benefit from the further evolution of SPARQL which is a very active W3C standard with lots of tools. As far as I can tell, SWRL is not actively moved further right now apart from a RIF mapping.<br />
- SPIN is more extensible, e.g. you can create your own functions and templates. With SWRL you are limited to whatever hard-coded execution library has been provided by the engine. SPIN functions are first-class citizens and can be shared together with the data models.<br />
- SPIN has explicit support for constraint checking.<br />
- SPIN is object-oriented and therefore arguably easier to maintain. Also rule execution and constraint checking can be scoped better due to the OO attachment.</p>
<p>You may want to get additional opinions by posting a similar question to the SWRL proponents such as the Protege-OWL 3 people. I have seen some postings there that compare SWRL with SPARQL, but I largely disagree with their conclusions. In particular they seem to claim that only SWRL can use OWL DL semantics, which is untrue because you can of course execute SPARQL on top of a triple store with OWL DL inferencing turned on. For additional questions on SPIN I recommend either contacting me directly or via the TopBraid Composer mailing list <a href="http://groups.google.com/group/topbraid-composer-users" rel="nofollow">http://groups.google.com/group/topbraid-composer-users</a>. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William Vambenepe</title>
		<link>http://stage.vambenepe.com/archives/496#comment-74870</link>
		<dc:creator>William Vambenepe</dc:creator>
		<pubDate>Thu, 28 May 2009 19:34:52 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-74870</guid>
		<description>Sylvere: no problem. I sent Holger an email to let him know.</description>
		<content:encoded><![CDATA[<p>Sylvere: no problem. I sent Holger an email to let him know.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sylvere</title>
		<link>http://stage.vambenepe.com/archives/496#comment-74860</link>
		<dc:creator>Sylvere</dc:creator>
		<pubDate>Thu, 28 May 2009 18:02:10 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-74860</guid>
		<description>William: I apologize but I did on purpose since I was not able to post on Holger&#039;s blog.</description>
		<content:encoded><![CDATA[<p>William: I apologize but I did on purpose since I was not able to post on Holger&#8217;s blog.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William Vambenepe</title>
		<link>http://stage.vambenepe.com/archives/496#comment-74850</link>
		<dc:creator>William Vambenepe</dc:creator>
		<pubDate>Thu, 28 May 2009 16:43:24 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-74850</guid>
		<description>Sylvere: you&#039;ve posted on the wrong blog. Holger&#039;s blog is &lt;a href=&quot;http://composing-the-semantic-web.blogspot.com/&quot; rel=&quot;nofollow&quot;&gt;http://composing-the-semantic-web.blogspot.com/&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>Sylvere: you&#8217;ve posted on the wrong blog. Holger&#8217;s blog is <a href="http://composing-the-semantic-web.blogspot.com/" rel="nofollow">http://composing-the-semantic-web.blogspot.com/</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sylvere</title>
		<link>http://stage.vambenepe.com/archives/496#comment-74845</link>
		<dc:creator>Sylvere</dc:creator>
		<pubDate>Thu, 28 May 2009 16:09:47 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-74845</guid>
		<description>Holger, SPIN is nice work.
I went through your blog, especially this page http://composing-the-semantic-web.blogspot.com/2009/01/object-oriented-semantic-web-with-spin.html
I have just one question, about the square example: if I&#039;m not wrong, we can also use SWRL to define the same constraint, right? So what is the difference between using SPIN or SWRL?</description>
		<content:encoded><![CDATA[<p>Holger, SPIN is nice work.<br />
I went through your blog, especially this page <a href="http://composing-the-semantic-web.blogspot.com/2009/01/object-oriented-semantic-web-with-spin.html" rel="nofollow">http://composing-the-semantic-web.blogspot.com/2009/01/object-oriented-semantic-web-with-spin.html</a><br />
I have just one question, about the square example: if I&#8217;m not wrong, we can also use SWRL to define the same constraint, right? So what is the difference between using SPIN or SWRL?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William Vambenepe&#8217;s blog &#187; Blog Archive &#187; CMDBf is a lot more and a lot less than you think</title>
		<link>http://stage.vambenepe.com/archives/496#comment-63630</link>
		<dc:creator>William Vambenepe&#8217;s blog &#187; Blog Archive &#187; CMDBf is a lot more and a lot less than you think</dc:creator>
		<pubDate>Fri, 06 Mar 2009 00:20:56 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-63630</guid>
		<description>[...] SML show us how a generic query language can be used to support configuration rules. I very much like SPIN but it requires adopting RDF as a metamodel, which is a hard sell in XML-land. SML suffers [...]</description>
		<content:encoded><![CDATA[<p>[...] SML show us how a generic query language can be used to support configuration rules. I very much like SPIN but it requires adopting RDF as a metamodel, which is a hard sell in XML-land. SML suffers [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stu</title>
		<link>http://stage.vambenepe.com/archives/496#comment-60099</link>
		<dc:creator>Stu</dc:creator>
		<pubDate>Tue, 20 Jan 2009 13:27:59 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-60099</guid>
		<description>We are using SPARQL heavily for query, validation, and &quot;controlled inference&quot; at Elastra (I really hope we can share some of our work publicly soon).  We chose RDF and SPARQL over XSD/Schematron etc. for many of the reasons listed above; SPIN looks like a very interesting general approach for the mainstream (woulda been nice 4 months ago ;).</description>
		<content:encoded><![CDATA[<p>We are using SPARQL heavily for query, validation, and &#8220;controlled inference&#8221; at Elastra (I really hope we can share some of our work publicly soon).  We chose RDF and SPARQL over XSD/Schematron etc. for many of the reasons listed above; SPIN looks like a very interesting general approach for the mainstream (woulda been nice 4 months ago ;).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Holger Knublauch</title>
		<link>http://stage.vambenepe.com/archives/496#comment-59485</link>
		<dc:creator>Holger Knublauch</dc:creator>
		<pubDate>Tue, 13 Jan 2009 22:07:19 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-59485</guid>
		<description>Thanks a lot for discussing SPIN on your blog, William! 

(Unsurprisingly) I couldn&#039;t agree more with your observations. The company I work for (TopQuadrant) has quite a number of &quot;real-world&quot; customers from industry, government military and one of the main complaints that we always tend to hear is that the open-world semantics of OWL don&#039;t match their use cases and expectations. In many cases, our users (and the tools) simply ignore that the open-world assumption (and no unique-name assumption) exist in OWL and instead pretend that an OWL cardinality restriction of 1 really means just &quot;one value allowed&quot; - which is incorrect according to the formal semantics of OWL. SPARQL has a much clearer answer here: you get what you see in the graph, and not more. All what SPARQL does is pattern matching against the triples, and thus it has closed-world semantics and the unique name assumption. Having said this there are of course still use cases where bringing in OWL semantics has benefits, but the choice should be yours if you want to activate those semantics for your use case. I gave an example of how to express a large subset of OWL using SPIN in a follow-up posting [1].

And yes, a general strength of RDF-based technology is for linking models. Everything in RDF has a unique URI to start with, but then it&#039;s also possible to link arbitrary concepts together by reusing or sub-property-ing properties. We have many customers (such as NASA) who are very keen on integrating their large stock of existing XML dialects to make information exchange more efficient. We are building ontologies for them and with them to capture the domains of interest and thus avoid redundancies etc. I wrote about the SPIN-based unit conversion that is one of the outcomes of this work [2]. A constant problem that my colleagues face in this XML-related work is the weakness of expressivity of XML Schema - a format mainly geared for tree structures whereas most of the real-world is better modeled as graphs.

Another aspect of RDF that SPIN rides on is the vision of a distributed self-describing data structure. In the Semantic Web, both classes and instances live in the same space and can be queried using the same mechanisms. SPIN takes this idea to extremes: you can not only define classes and properties, but even define executable semantics of those and use this mechanism to build your own modeling languages. I wrote about this elsewhere as well, but my article on SPIN templates [3] might be a good place to start. The key idea is that if someone introduces a new concept such as a constraint check on units then he or she can publish this constraint check by means of a SPIN template that lives at a specific URI for anyone (human or machine) to look up and execute. No other hard-coded magic is needed anywhere as long as your tools understand SPARQL. This approach can be used to build truly open model-driven applications, and the computer game on my blog is one example [4] of this vision.

Anyway, there is certainly more to evolve in the SPARQL space. And yes we may be going to W3C with SPIN in the future. Right now we are in beta phase and I didn&#039;t even properly announce this work yet to the wider Semantic Web community. So far responses from our users have been very positive and I know of at least one company that is considering to even create their own SPIN implementation. Since it&#039;s all based on SPARQL, a large number of vendors with SPARQL support (including Oracle 11g :) ) could in principle add SPIN-like technology to their stack.

Holger

[1] http://composing-the-semantic-web.blogspot.com/2009/01/owl-2-rl-in-sparql-using-spin.html
[2] http://composing-the-semantic-web.blogspot.com/2009/01/video-sparql-based-unit-conversion-with.html
[3] http://composing-the-semantic-web.blogspot.com/2009/01/understanding-spin-templates.html
[4] http://composing-the-semantic-web.blogspot.com/2009/01/spin-box-sparql-based-computer-game.html</description>
		<content:encoded><![CDATA[<p>Thanks a lot for discussing SPIN on your blog, William! </p>
<p>(Unsurprisingly) I couldn&#8217;t agree more with your observations. The company I work for (TopQuadrant) has quite a number of &#8220;real-world&#8221; customers from industry, government military and one of the main complaints that we always tend to hear is that the open-world semantics of OWL don&#8217;t match their use cases and expectations. In many cases, our users (and the tools) simply ignore that the open-world assumption (and no unique-name assumption) exist in OWL and instead pretend that an OWL cardinality restriction of 1 really means just &#8220;one value allowed&#8221; &#8211; which is incorrect according to the formal semantics of OWL. SPARQL has a much clearer answer here: you get what you see in the graph, and not more. All what SPARQL does is pattern matching against the triples, and thus it has closed-world semantics and the unique name assumption. Having said this there are of course still use cases where bringing in OWL semantics has benefits, but the choice should be yours if you want to activate those semantics for your use case. I gave an example of how to express a large subset of OWL using SPIN in a follow-up posting [1].</p>
<p>And yes, a general strength of RDF-based technology is for linking models. Everything in RDF has a unique URI to start with, but then it&#8217;s also possible to link arbitrary concepts together by reusing or sub-property-ing properties. We have many customers (such as NASA) who are very keen on integrating their large stock of existing XML dialects to make information exchange more efficient. We are building ontologies for them and with them to capture the domains of interest and thus avoid redundancies etc. I wrote about the SPIN-based unit conversion that is one of the outcomes of this work [2]. A constant problem that my colleagues face in this XML-related work is the weakness of expressivity of XML Schema &#8211; a format mainly geared for tree structures whereas most of the real-world is better modeled as graphs.</p>
<p>Another aspect of RDF that SPIN rides on is the vision of a distributed self-describing data structure. In the Semantic Web, both classes and instances live in the same space and can be queried using the same mechanisms. SPIN takes this idea to extremes: you can not only define classes and properties, but even define executable semantics of those and use this mechanism to build your own modeling languages. I wrote about this elsewhere as well, but my article on SPIN templates [3] might be a good place to start. The key idea is that if someone introduces a new concept such as a constraint check on units then he or she can publish this constraint check by means of a SPIN template that lives at a specific URI for anyone (human or machine) to look up and execute. No other hard-coded magic is needed anywhere as long as your tools understand SPARQL. This approach can be used to build truly open model-driven applications, and the computer game on my blog is one example [4] of this vision.</p>
<p>Anyway, there is certainly more to evolve in the SPARQL space. And yes we may be going to W3C with SPIN in the future. Right now we are in beta phase and I didn&#8217;t even properly announce this work yet to the wider Semantic Web community. So far responses from our users have been very positive and I know of at least one company that is considering to even create their own SPIN implementation. Since it&#8217;s all based on SPARQL, a large number of vendors with SPARQL support (including Oracle 11g :) ) could in principle add SPIN-like technology to their stack.</p>
<p>Holger</p>
<p>[1] <a href="http://composing-the-semantic-web.blogspot.com/2009/01/owl-2-rl-in-sparql-using-spin.html" rel="nofollow">http://composing-the-semantic-web.blogspot.com/2009/01/owl-2-rl-in-sparql-using-spin.html</a><br />
[2] <a href="http://composing-the-semantic-web.blogspot.com/2009/01/video-sparql-based-unit-conversion-with.html" rel="nofollow">http://composing-the-semantic-web.blogspot.com/2009/01/video-sparql-based-unit-conversion-with.html</a><br />
[3] <a href="http://composing-the-semantic-web.blogspot.com/2009/01/understanding-spin-templates.html" rel="nofollow">http://composing-the-semantic-web.blogspot.com/2009/01/understanding-spin-templates.html</a><br />
[4] <a href="http://composing-the-semantic-web.blogspot.com/2009/01/spin-box-sparql-based-computer-game.html" rel="nofollow">http://composing-the-semantic-web.blogspot.com/2009/01/spin-box-sparql-based-computer-game.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrea Westerinen</title>
		<link>http://stage.vambenepe.com/archives/496#comment-59473</link>
		<dc:creator>Andrea Westerinen</dc:creator>
		<pubDate>Tue, 13 Jan 2009 20:04:27 +0000</pubDate>
		<guid isPermaLink="false">http://stage.vambenepe.com/?p=496#comment-59473</guid>
		<description>Interesting! 

There may be another option here as well...  Tools like Pellet add SWRL/Datalog rules which could be used for constraints.  I think that this is still preliminary work in their AL-Log engine, but it looks similar/valuable.

Andrea</description>
		<content:encoded><![CDATA[<p>Interesting! </p>
<p>There may be another option here as well&#8230;  Tools like Pellet add SWRL/Datalog rules which could be used for constraints.  I think that this is still preliminary work in their AL-Log engine, but it looks similar/valuable.</p>
<p>Andrea</p>
]]></content:encoded>
	</item>
</channel>
</rss>
