Jena Rules expressiveness compared to SWRl and SPIN

712 views
Skip to first unread message

aziza

unread,
Mar 31, 2011, 5:36:14 AM3/31/11
to TopBraid Suite Users
Hey, can anybody tell what is a rule expressiveness in general?
And also how Jena Rules expressiveness differ from SWRL's and SPIN's
one?
Thanks in advance ,Aziza

Scott Henninger

unread,
Mar 31, 2011, 12:03:20 PM3/31/11
to TopBraid Suite Users
Aziza; Generally speaking, expressiveness refers to a language's
ability to express concepts. For example Jena Rules do not support
disjunction, and SPARQL does (UNION), therefore SPARQL can be said to
be more expressive than Jena Rules (and SWRL, IIRC). For more on Jena
rules, I'd suggest you look through http://hydrogen.informatik.tu-cottbus.de/wiki/index.php/JenaRules.

In general the expressiveness of Jena Rules and SPARQL are similar,
but the real difference is that SPARQL is an active W3C
recommendation, and I am unaware of any current efforts to further
enhance Jena Rules. In fact SPARQL has adopted some features from
Jena Rules. I.e. the real difference here is not necessarily
expressiveness, but standardization and maintenance.

Given this, we would encourage any customer to adopt SPARQL instead of
Jena Rules. This will not only assure W3C standards compliance across
applications, but assures continued maintenance well into the future,
compatibility with SPIN technologies, etc.

SWRL is different than SPARQL or Jena rules as it has ties to RDFS and
OWL logic (SWRL efforts have migrated to RIF BLD). For other
discussion on SWRL, see the following links:
- http://groups.google.com/group/topbraid-users/browse_thread/thread/7c57fe855de8c908/d131937a1277d9ea?lnk=gst&q=rif#d131937a1277d9ea
- http://groups.google.com/group/topbraid-users/browse_thread/thread/7c57fe855de8c908/d131937a1277d9ea?lnk=gst&q=rif#d131937a1277d9ea
- http://www.google.com/url?sa=D&q=http://www.semanticoverflow.com/questions/3152/latest-best-support-for-swrl

-- Scott

SemanticBeeng

unread,
Aug 26, 2018, 5:57:53 PM8/26/18
to TopBraid Suite Users
Thanks Scott,

What is the best way to go about understanding SPIN enough (as I read your recommendation) to compare with something like https://jena.apache.org/documentation/inference/index.html (which, again, as I read, is about Jena rules but quite powerful it seems) ?

Many thanks,
Nick

Irene Polikoff

unread,
Aug 26, 2018, 6:49:02 PM8/26/18
to topbrai...@googlegroups.com
This is a follow up question to e-mail exchange that happened 7 years ago. At this point, our recommendation is to understand SHACL which supports rules and is a standard.


You should view SHACL as SPIN 2.0 that has been standardized. 

This page has many useful links including links to webinars: https://www.topquadrant.com/technology/shacl/

Further, we are offering a 2.5 days public training on SHACL which includes SHACL rules https://www.topquadrant.com/shacl-training/ in October in NYC and December in London.

Comparing SHACL to Jena’s support for pluggable reasoners is a bit like comparing apples and oranges because these are different categories of things:

  • SHACL is a standard language for expressing constraints and rules over RDF data. The first two links in this e-mail are links to specifications. These specifications can be implemented as concrete technologies (and they have) by different vendors.
  • Jena is a software framework that allows you to plugin various reasoners. It includes some built-in reasoners. One of these is a general rule reasoner. A rule is defined by a Java Rule object with a list of body terms (premises), a list of head terms (conclusions) and an optional name and optional direction. For those wanting to specify rules in text files, there is a simple parser to make this possible. There is no RDF syntax for these rules. However, you as a user, could define one and build your own parser for it. 

Both, SHACL and Jena Rules are highly expressive. Thus, the statement made 7 years ago, still stands - the real difference is not in expressiveness, but in standardization. For many people this is very important. They want to use a standard, clearly defined language when defining rules.

Another consideration that you may have is your specific use cases and overall lifecycle of rules implementation and use. Thus, I would recommend to get clear on your requirements before you start the comparison.

-- 
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.

Reply all
Reply to author
Forward
0 new messages