Re: ShEx relation to SPIN/OWL

On 7/15/2014 0:14, Dam, Jesse van wrote:
> Hi Holger,
>
> It is nice to mention SPIN as its powerful and allows for defining complex constraints. However one of the important features of SHEX is that it that is designed so that it is easy to read. This allows a user to understand the structure of a RDF database and allows the user to make query.
>
> I think it might be possible to make an implementation of SHEX in SPIN, which would be nice to test. However, if you would directly define the constraint in SPIN yourself then there are many different methods to define it in SPIN. We would like to have one standard method to describe the most important features of the database schema so that is why we need a standard, like SHEX.
>
> I agree if you would define a 'ontology' plus a set of SPIN templates/contraints you have something that could come close to what SHEX tries to achieve, but this 'ontology' still needs to be defined in a standard.

Yes I totally agree that we need a standard collection of constraint 
patterns, and I am confident that identifying such a catalogue will be a 
useful outcome of this working group. In fact this list of patterns 
could be a separate deliverable from the actual language(s) produced. I 
could imagine that the common patterns could have implementations in 
ShEX, SPIN, Closed-World OWL and possibly even mappings to XSD and UML.

It is however my strong belief that no matter how hard we try to agree 
on a set of "commonly needed" constraints, there will always be plenty 
of real-world cases in which those are not sufficient, and where only 
something as generic as SPARQL can cover the expressivity needed.

SPIN provides a mechanism that
- allows the convenient representation of the common patterns via 
template libraries
- includes a consistent escape mechanism that allows other constraints 
to be expressed without leaving the underlying design of the language.

SPIN constraint templates are essentially executed as SPARQL 
ASK/CONSTRUCT queries, and if someone needs more than this working group 
anticipated then they can either define new templates themselves or 
write SPARQL directly. The fact that SPIN templates, queries and 
template calls can be represented in RDF adds the advantage that SPIN 
definitions can be shared with the same infrastructure as the domain 
models, and thus benefit from the semantic web vision where applications 
can dynamically discover the semantics of a set of classes, properties 
and instances.

SPIN is more general than ShEX. A more human-readable language with 
shortcuts such as + could also be added on top of SPIN. However by 
starting with a hard-coded language like ShEX, the risk is that many 
real-world use cases cannot be represented.

Holger

Received on Monday, 14 July 2014 22:47:28 UTC