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