Hi there,

I am working on these things too these days. I try to do all without
owlapi, and I hope I will be able to. Thank you all for these
question/clear answers.
About my tests, as far as I can see, with jena & pellet I am able to :
- transform the data from TDB and pass the pellet rules + knowlege
base on it, in 4 lines code.
- add individuals, data/objects properties and all OWL stuff thanks to
Jena OR pellet methods
- create SPARQL with jenaARQ OR SPARQLDL with Pellet
What I will try to do in the next days will be :
- get what you called the "InferredIndividualAxiomGenerator" within
jena. -> I have some starting points
(http://stackoverflow.com/questions/25055263/how-to-get-only-inferred-data-from-jena-ontology-model)
- get the explanations of inferred axioms from pellet (the same as
Protégé shows when you hit the "?") -> any idea ?.
- create my own pellet built-in (begining with implementing some dates
related built-in). Maybe make a pull request on github then -> I have
already read an interesting post of Rodrigo about that on the Pellet
forum.



2015-12-09 0:23 GMT+01:00 Rodrigo Antonialli <rcantonia...@gmail.com>:
>
> Short answer: yes, that's it...
>
> Long answer:
>
> I've created the ontologies using Protege, and uploaded them to Fuseki.
> When I need the ontologies in my application, Jena is used to load the
> ontologies from Fuseki. In most cases, I do things with Jena, specially
> SPARQL.
>
> But once the ontologies are stored into OntModel, they can be written to
> some OutputStream and read from OWLAPI. Using OWLAPI at certain application
> features, I'm creating some individuals and running Pellet inference,
> including SWRL rules (which, in my case, are defined in a separated
> file/graph, which is better for maintenance).
>
> There are 'tools' from OWLAPI to extract the inferred axioms only (like
> InferredIndividualAxiomGenerator). In my case, I'm joining the inferred
> axioms with the individuals and "exporting" back to Jena... from Jena it's
> just to upload them to Fuseki again...
>
>
> That may looks like an ugly and unnecessary overhead from some point of
> views.... but with that "architecture", I can benefit from both: Jena +
> Fuseki (storage and SPARQL) and OWLAPI + Pellet (Inferences, SWRL)...
> actually, it's a good way (or at least the one I've found) to use the power
> of both APIs. IMHO, there are some things easier to be done with Jena and
> others easier with OWLAPI (mostly because they are focused on different
> aspects... Jena is more "RDF-centric" and OWLAPI, "OWL-centric")
>
>
>
>
> Rodrigo C. Antonialli
> ======================================
> Rio Claro - SP - Brasil
> LinkedIn: http://www.linkedin.com/in/rcantonialli
> Contato:  rcantonia...@gmail.com
>               Skype: rc_antonialli
>
> On Tue, Dec 8, 2015 at 7:17 PM, Chris Snyder <csny...@mind-tap.net> wrote:
>
> > That is very helpful feedback.
> >
> > As a clarification I attempted to use the Pellet code from Maven central
> > and that is where I ran into the package name change issue. I might try
> > getting in touch with Ignazio directly to see if I can help make the
> > updates to get Pellet working with the latest Jena.
> >
> > If you don’t mind my asking, how are you applying the SWRL rules in
> > practice? E.G. are you applying the SWRL rules using the OWLAPI + Pellet
> > and then exporting the additional reasoned triples to your Fuseki instance
> > so they can be queried with SPARQL?
> >
> > Thanks,
> > Chris
> >
> >
> >
> >
> > > On Dec 8, 2015, at 3:55 PM, Rodrigo Antonialli <rcantonia...@gmail.com>
> > wrote:
> > >
> > > Hi Chris,
> > >
> > > Maybe I'm not an expert to answer you properly, but I've being working
> > with
> > > this kind of scenario (Ontologies, SWRL, jena, owlapi) lately and here is
> > > what I can share:
> > >
> > > 1) Yes. As far as I know, Jena doesn't have native support for SWRL.
> > >
> > > 2) The most recent versions of pellet I've seen is the one from Ignazio
> > > Palmisano, which you can find at Maven Central
> > > <http://search.maven.org/#search%7Cga%7C1%7Cignazio1977>. I know it
> > works
> > > with most recent versions of OWL-API, can't tell what Jena version it
> > > supports now... (I don't know if he is in this mailling list, but you can
> > > find him in owlapi mailling list =P)
> > >
> > > 3) Can't tell for sure, once I've never used Jena Rules, but I believe
> > the
> > > differences should be around details and most things would be made with
> > > both. Actually, Jena Rules and SWRL are "competing" (emphasis on the
> > > quotes) with SPARQL SPIN from TopBraid, so it's difficult to find clear
> > > documented comparisons. There are a lot of considerations around the
> > > subject...
> > >
> > > 4) The problem with other reasoners is, usually, not Jena compatibility,
> > > but SWRL support... As far as I could look around, pellet is the only
> > > free/open-source reasoner with a good support for SWRL. I've spent some
> > > time looking around, because the pellet performance with SWRL is a little
> > > problematic when the ontology is complex, there are a great number of
> > > rules... Although one thing I've found to be a nice feature is the
> > ability
> > > to create custom functions for SWRL using Pellet. It was good for me to
> > > work with geospatial data (and now I'm trying to speed things up)...
> > >
> > > 5) "What should I use" questions are like "What's the best", and the best
> > > answer is: it depends... of a lot of things... I've being working with
> > both
> > > APIs and by now, I chose to use Jena to work with Fusek and SPARQL and
> > > OWLAPI to manipulate the ontology directly (build and manage axioms).
> > > Simple SPARQL queries you can change for some OWLAPI code, but the
> > > endpoint/tdb support in jena are an advantage. It's quite easy to work
> > with
> > > both in the same application (both API read and write from various
> > formats)
> > >
> > >
> > > Rodrigo C. Antonialli
> > > ======================================
> > > Rio Claro - SP - Brasil
> > > LinkedIn: http://www.linkedin.com/in/rcantonialli
> > > Contato:  rcantonia...@gmail.com
> > >              Skype: rc_antonialli
> > >
> > > On Tue, Dec 8, 2015 at 6:18 PM, Chris Snyder <csny...@mind-tap.net>
> > wrote:
> > >
> > >> I have a few reasoner questions.
> > >>
> > >> 1) I’m using the latest version of Jena 3.0.0 is it true that the only
> > way
> > >> to use SWRL rules is with an external reasoner? My concern is how I
> > would
> > >> use Protege which can handle adding SWRL rules and then processing the
> > >> ontology with Jena.
> > >>
> > >> 2) I tried to integrate the Pellet reasoner but to get it to work with
> > >> Jena 3.0.0 I believe I would need to fork the Pellet code and update all
> > >> the Jena package paths in it to use the new “org.apache.jena.” location.
> > >> Can anyone comment on that?
> > >>
> > >> 3) If I am using the built in Jena reasoner is there anything major
> > that I
> > >> can not do with the Jena rule language that I could do with SWRL?
> > >>
> > >> 4) Is there an reasoner other than Pellet that someone has used with
> > Jena
> > >> 3.0.0 successfully that will process SWRL rules?
> > >>
> > >> 5) A reasoner is obviously an important part of using an ontology. Is
> > Jena
> > >> the appropriate way to go or should I be looking into the OWLAPI?
> > >>
> > >> Thanks in advance,
> > >> Chris
> > >>
> > >>
> > >>
> > >>
> >
> >

Reply via email to