Hi Lorenz,

I didn't know about this API... thanks for sharing! I'll try it later =)

regards,

Rodrigo C. Antonialli
======================================
Rio Claro - SP - Brasil
LinkedIn: http://www.linkedin.com/in/rcantonialli
Contato:  rcantonia...@gmail.com
              Skype: rc_antonialli

On Wed, Dec 9, 2015 at 9:18 AM, Lorenz Bühmann <
buehm...@informatik.uni-leipzig.de> wrote:

> Hello Rodrigo,
>
> the explanations in Protege are computed by using the API from Matthew
> Horridge, which is pretty easy to use and implements his brilliant PhD
> thesis.
>
> The project is located here:
> https://github.com/matthewhorridge/owlexplanation
>
> Kind regards,
> Lorenz
>
>
> Hi Nicolas,
>>
>> Don't forget to read the pellet faq about extracting inferences using
>> jena:
>>
>> https://github.com/Complexible/pellet/wiki/FAQ#how-can-i-extract-all-inferences
>>
>> About the explanations, I'm not 100% sure, but I believe the methods used
>> to get them are from Pellet ( pelletReasoner.getKB().getExplanation() ),
>> so, they should work with both APIs. When you download pellet zip package,
>> there are some examples... at least one is about explanations...
>>
>> Most of things you do with Jena you can do with OWLAPI and also the other
>> way around... both are quite simple to understand and a few lines of code
>> can do many things =)
>>
>> I was able to implement my custom functions to use with SWRL, if you need
>> any help, I'll be glad to help!
>>
>>
>> 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 10:28 PM, Nicolas Paris <nipari...@gmail.com>
>> wrote:
>>
>> 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
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>> --
> Lorenz Bühmann
> AKSW group, University of Leipzig
> Group: http://aksw.org - semantic web research center
>
>

Reply via email to