Sebastian,
 
I am no SPIN specialist, but so far I understand it can be used for
those different purposes at least :
(1) build inferences, in a CWA
(2) check for data validation (it is a proposal for RDFShapes)
(3) save SPARQL queries in RDF
 
In your last mail you talk about (1), but in the overLOD project we
have a need for data validation, and so I was talking about (2). 
 
I did already implement it successfully in our module that handles
"External data sources", and check that the data are valid before
importing them. I was considering using it for (3), saving queries in
the store instead of disk files, but so far I will keep the disk files
option.
 
But thank you for your thought that could be useful to implement SPIN
as another inference engine in Marmotta.
 
Fabian
 

>>> On 11.11.2014 at 15:44, in message
<cap3xvwyknpldccnwjyb8-_2njakuv_xp5mo79pkr-9ysowi...@mail.gmail.com>,
Sebastian Schaffert <[email protected]> wrote:

Hi all,

SPIN could probably be implemented using forward chaining in a very
similar
way to the current (much simpler) KiWi reasoner. In fact, the current
SPARQL->SQL translation we are doing first started in the reasoner
module.

The first question is then how people are supposed to use SPIN in
Marmotta.
Would you want to store a set of rules as part of the triple store to
define implicit triples?

The second question would be performance: the current reasoner is
quite
fast because it does forward chaining with reason maintenance,
checking
which base triples are justifying which inferred triples. I am not so
sure
if this would still be doable with all the expressivity of SPARQL
behind
(e.g. path expressions or aggregation constructs).

The third question refers to recursion (without having read the SPIN
document really): when using such expressive languages, you can easily
run
into a situation where rules are applied recursively. How would be
avoid
this?

Greetings,
Sebastian

2014-11-10 14:57 GMT+01:00 Martynas Jusevičius
<[email protected]>:

> Fabian,
>
> this is implemented in Graphity (also the GUI). Here's how you can
describe
> the whole structure of your webapp declaratively in an ontology,
including
> SPIN constraints:
>
>
https://github.com/Graphity/graphity-client/blob/master/src/main/resources/org/graphity/client/vocabulary/gcs.ttl
>
> Please contact me off-list if you're interested.
>
> Martynas
>
> On Mon, Nov 10, 2014 at 2:52 PM, Fabian Cretton
<[email protected]>
> wrote:
>
> >  Hi Peter and Martynas,
> >
> > Thank you for the information.
> >
> > I am currently already testing SPIN API, and could implement it
partially
> > in a Marmotta module I am developping.
> > That could be a start for further more "general" implementation if
any
> one
> > has a need for that.
> >
> > I will not work on advanced GUI about that, but only a basic
feature as a
> > proof of concept, to check data before importing it.
> >
> > Cheers
> > Fabian
> >
> >
> > >>> On 10.11.2014 at 14:46, in message <
> >
cae35vmz4payj5jdu9raw_cpptrgsulodflwunuf0ond25m0...@mail.gmail.com>,
> > Martynas Jusevičius<[email protected]> wrote:
> >   Hey Peter, Fabian,
> >
> > for me it would probably be easier to implement LDP on top of
Graphity
> > than to implement SPIN in Marmotta.
> >
> > In either case, it's not on our short-term road-map, as we think
the
> > LDP was a wrong design choice.
> >
> > Martynas
> > graphityhq.com
> >
> > On Mon, Nov 10, 2014 at 10:33 AM, Peter Bruhn Andersen
> > <[email protected]> wrote:
> > > Hi Fabian
> > >
> > > This is not a direct answer to your question but I propose that
you
> look
> > > into the SPIN implementation in the Graphity project [1] by
Martynas
> > > Jusevicius.
> > >
> > > And to Martynas: Could you be persuaded to participate in an
> > implementation
> > > of SPIN in Marmotta? As Fabian I too would very much like to see
this
> as
> > a
> > > feature in Marmotta.
> > >
> > > Regards,
> > > Peter Bruhn Andersen
> > >
> > > [1]   https://github.com/Graphity
> > >
> > >
> >
>

Reply via email to