Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-discussion] NullPointerException:null

Timothy Redmond tredmond at stanford.edu
Fri Feb 10 09:31:35 PST 2012


On 2/7/12 8:47 AM, jayadianti herlina wrote:
> Dear Timothy
> Thank you for fixing the ontology that I sent to you. It's really 
> helpfull.
> But I still have question, base on the "common ontology" that you 
> already sent to me, I saw that all equivalent classes made in one 
> ontology and then you did "equivalence class" between them, and 
> "nullPointerException:null" not appears.
> But how if I want to merge and combine several ontologies from 
> multiple sources and then equate them?
> With a note I can not change the source ontology, just import it and 
> then equating them (like an ontologies example that I already sent to 
> you).
This sounds like an acceptable strategy.  But you have to be careful to 
only equate things that describe exactly the same concept.  The litmus 
test is if you equate two things then you thing that they have the same 
individuals.

> In the project that I am doing, I want to import some ontologies in a 
> common ontology and perform queries on it.
> The problem is "nullPointerException:null" is still there.

If you could send an example of the ontology and how you generate the 
exception I can try to replicate this and fix it here.

> My question is should we maintain the source ontology and import it? 
> or we need to create a new ontology (named commonontology for example) 
> to the combined all classes of ontology sources?

I think that it is always better to import ontologies when you can.  
Taking ontologies and changing them creates maintenance problems.  But 
there may very well be problems with importing ontologies from different 
sources you will get classes with subtle differences.

-Timothy


> I am so sorry timothy for my question
> I am waiting for the new Protege release :)
> Thank you very much
> Yours sincerely
> Lina
>
> On Fri, Feb 3, 2012 at 2:35 PM, Timothy Redmond <tredmond at stanford.edu 
> <mailto:tredmond at stanford.edu>> wrote:
>
>     On 02/03/2012 02:50 AM, jayadianti herlina wrote:
>>     Dear Timothy
>>     Thank you very much for your explanation Mr Timothy
>>     About inconsistent ontology, based on my small experience, if
>>     there is an inconsistency in my ontology then the protege will
>>     display a window /"explain Inconsistent ontology"/ and some or
>>     all of the classes, instances and properties that are
>>     inconsistent will be /colored//red/.
>>     But this situation doesn't happen on ontologies that I created,
>>     initially the query can be done well, and there are no signs of
>>     inconsistency until then I save the file, and when it re-opened,
>>     I wasn't able to perform queries as before, and the "null"
>>     warning appears although the source ontologies still remains in
>>     the same position as before. Thank you very much.
>
>     Yes that is usually what happens.  I did make an attempt to
>     replicate your situation based on your description of the ontology
>     and I did not succeed.  I attached my attempt to replicate your
>     ontology.
>
>     I was looking at the code again and saw a likely explanation of
>     the error.  If an exception is thrown when creating the reasoner
>     then a null pointer during exception handling would hide the
>     nature of the original error.  This makes it difficult to diagnose
>     what caused the initial problem.  This will be fixed in the next
>     Protege release.
>
>
>>     is there any difference when I save the file of source ontology
>>     into target ontology with rdf / xml format, manchester owl syntax
>>     or owl functional syntax? is there any relation between the "null
>>     window" that occurs with an error when saving a file?
>
>     I don't think so.  But a null pointer exception while saving a
>     file is a bad sign.  But if the save went bad then you either
>     wouldn't be able to open the OWL file again or you would lose the
>     changes made before you saved.  In either case this should not
>     change the behavior of the reasoner.
>
>     -Timothy
>
>
>
>
>>     Sincerely
>>     Jayadianti
>>
>>
>>     On Thu, Feb 2, 2012 at 6:38 PM, Timothy Redmond
>>     <tredmond at stanford.edu <mailto:tredmond at stanford.edu>> wrote:
>>
>>
>>         There is a missing null pointer check and I will try to fix
>>         this.  It is happening because the reasoner factory is
>>         refusing to create a reasoner.  The reasoner factory doesn't
>>         throw an execption it just returns null.  I have seen this
>>         before but not for some time.
>>
>>         I believe that it means that the ontology is inconsistent. 
>>         If you restart Protege and try a different reasoner you may
>>         get the reasoner to tell you this.
>>
>>         To me it looks like the cause of the inconsistency is that
>>         the ontology has some problems.  So for instance, the
>>         ontology contains a statement that the Family class is
>>         equivalent to the person class.  A simple straightforward
>>         interpretation of this claim fails.  For example I would
>>         guess that the Kennedy family would be an instance of the
>>         Family class.  But that would mean that the Kennedy family is
>>         a person which I would not expect.
>>
>>         I wasn't able to replicate your situation and provide more
>>         certain information because I was unsure of your notation.  I
>>         was not sure if the "C1 Subclass C2" meant that C1 is a
>>         subclass of C2 or if you really mean the more traditional
>>         subClassOf.
>>
>>         -Timothy
>>
>>
>>
>>
>>
>>         On 2/2/12 7:15 AM, jayadianti herlina wrote:
>>>         Dear Mathew
>>>         Here is a part of my ontologies:
>>>         *ONTOLOGY 1*
>>>         Class:
>>>         Family
>>>         Subclass - HeadOfFamily (instance gitopawiro, agussusilo )
>>>         Subclass - MemberOfFamily
>>>         TypeOfFood
>>>         (Instance chicken, meat, egg..etc)
>>>         ObjectProperty :
>>>         hasRarelyEaten
>>>         *ONTOLOGY 2*
>>>         Class:
>>>         person
>>>         Subclass - MemberOfHouseHolder (instance GitoPawiro, AgusSusilo)
>>>         Subclass - HeadOfHouseHolder
>>>         ConsumeFood
>>>         (instance Chicken, Meat, Egg..etc)
>>>         ObjectProperty :
>>>         hasFrequentlyEatenFood
>>>         *ONTOLOGY 3*
>>>         Class:
>>>         People
>>>         Subclass - Familymember
>>>         Subclass - HouseHolder
>>>         DataProperty:
>>>         hasConsumeFood
>>>         *COMONTOLOGY*
>>>         Class:
>>>         people ? Family ? person ? People
>>>         Food ? ConsumeFood ? TypeOfFood
>>>         ObjectProperty:
>>>         hasConsumeFood
>>>         *DLQUERY example :*
>>>         people and hasRarelyEaten value meat or
>>>         hasFrequentlyEatenFood value egg or hasConsumeFood value
>>>         "egg"^^string
>>>         *RESULT*
>>>         Agus Susilo
>>>         /Everything goes well, I save my ontologies and then appear
>>>         the dialog box nullexpresiaon:null (I attached the image)/
>>>         /I need you help. Thank you/
>>>         Warm regards
>>>         Lina jayadianti
>>>         *RDF/XML COMONTOLOGY*
>>>         <?xml version="1.0"?>
>>>
>>>         <!DOCTYPE rdf:RDF [
>>>         <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
>>>         <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
>>>         <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
>>>         <!ENTITY ontology3 "http://www.semanticweb.org/ontology3.owl#" >
>>>         <!ENTITY ontology2 "http://www.semanticweb.org/ontology2.owl#" >
>>>         <!ENTITY ontology1 "http://www.semanticweb.org/ontology1.owl#" >
>>>         <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
>>>         <!ENTITY comontology
>>>         "http://www.semanticweb.org/comontology.owl#" >
>>>         ]>
>>>
>>>         <rdf:RDF xmlns="http://www.semanticweb.org/comontology.owl#"
>>>         xml:base="http://www.semanticweb.org/comontology.owl"
>>>         xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>>>         xmlns:comontology="http://www.semanticweb.org/comontology.owl#"
>>>         xmlns:owl="http://www.w3.org/2002/07/owl#"
>>>         xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
>>>         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>>>         xmlns:ontology3="http://www.semanticweb.org/ontology3.owl#"
>>>         xmlns:ontology2="http://www.semanticweb.org/ontology2.owl#"
>>>         xmlns:ontology1="http://www.semanticweb.org/ontology1.owl#">
>>>         <owl:Ontology
>>>         rdf:about="http://www.semanticweb.org/comontology.owl">
>>>         <owl:imports
>>>         rdf:resource="http://www.semanticweb.org/ontology1.owl"/
>>>         <http://www.semanticweb.org/ontology1.owl%22/>>
>>>         <owl:imports
>>>         rdf:resource="http://www.semanticweb.org/ontology2.owl"/
>>>         <http://www.semanticweb.org/ontology2.owl%22/>>
>>>         <owl:imports
>>>         rdf:resource="http://www.semanticweb.org/ontology3.owl"/
>>>         <http://www.semanticweb.org/ontology3.owl%22/>>
>>>         </owl:Ontology>
>>>
>>>         <!--
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         //
>>>         // Datatypes
>>>         //
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         -->
>>>
>>>         <!--
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         //
>>>         // Object Properties
>>>         //
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         -->
>>>
>>>         <!--
>>>         http://www.semanticweb.org/comontology.owl#hasconsumefood -->
>>>         <owl:ObjectProperty rdf:about="&comontology;hasconsumefood">
>>>         <owl:equivalentProperty
>>>         rdf:resource="&ontology1;hasRarelyEaten"/>
>>>         <owl:equivalentProperty
>>>         rdf:resource="&ontology2;hasFrequentlyEatenFood"/>
>>>         </owl:ObjectProperty>
>>>
>>>         <!-- http://www.semanticweb.org/ontology1.owl#hasRarelyEaten -->
>>>         <rdf:Description rdf:about="&ontology1;hasRarelyEaten"/>
>>>
>>>         <!--
>>>         http://www.semanticweb.org/ontology2.owl#hasFrequentlyEatenFood
>>>         -->
>>>         <rdf:Description rdf:about="&ontology2;hasFrequentlyEatenFood"/>
>>>
>>>         <!--
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         //
>>>         // Data properties
>>>         //
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         -->
>>>
>>>         <!-- http://www.semanticweb.org/comontology.owl#name -->
>>>         <owl:DatatypeProperty rdf:about="&comontology;name"/>
>>>
>>>         <!--
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         //
>>>         // Classes
>>>         //
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         -->
>>>
>>>         <!-- http://www.semanticweb.org/comontology.owl#Food -->
>>>         <owl:Class rdf:about="&comontology;Food">
>>>         <owl:equivalentClass rdf:resource="&ontology1;TypeOfFood"/>
>>>         <owl:equivalentClass rdf:resource="&ontology2;ConsumeFood"/>
>>>         </owl:Class>
>>>
>>>         <!--
>>>         http://www.semanticweb.org/comontology.owl#HeadOfHouseHolder -->
>>>         <owl:Class rdf:about="&comontology;HeadOfHouseHolder">
>>>         <owl:equivalentClass rdf:resource="&ontology1;HeadOfFamily"/>
>>>         <owl:equivalentClass
>>>         rdf:resource="&ontology2;HeadOfHouseHolder"/>
>>>         <owl:equivalentClass rdf:resource="&ontology3;FamilyMember"/>
>>>         <rdfs:subClassOf rdf:resource="&comontology;People"/>
>>>         </owl:Class>
>>>
>>>         <!--
>>>         http://www.semanticweb.org/comontology.owl#MemberOfHouseHolder
>>>         -->
>>>         <owl:Class rdf:about="&comontology;MemberOfHouseHolder">
>>>         <rdfs:subClassOf rdf:resource="&comontology;People"/>
>>>         </owl:Class>
>>>
>>>         <!-- http://www.semanticweb.org/comontology.owl#People -->
>>>         <owl:Class rdf:about="&comontology;People">
>>>         <owl:equivalentClass rdf:resource="&ontology1;Family"/>
>>>         <owl:equivalentClass rdf:resource="&ontology2;person"/>
>>>         <owl:equivalentClass rdf:resource="&ontology3;people"/>
>>>         </owl:Class>
>>>
>>>         <!-- http://www.semanticweb.org/ontology1.owl#Family -->
>>>         <rdf:Description rdf:about="&ontology1;Family">
>>>         <owl:equivalentClass rdf:resource="&ontology2;person"/>
>>>         <owl:equivalentClass rdf:resource="&ontology3;people"/>
>>>         </rdf:Description>
>>>
>>>         <!-- http://www.semanticweb.org/ontology1.owl#HeadOfFamily -->
>>>         <rdf:Description rdf:about="&ontology1;HeadOfFamily">
>>>         <owl:equivalentClass
>>>         rdf:resource="&ontology2;HeadOfHouseHolder"/>
>>>         <owl:equivalentClass rdf:resource="&ontology3;FamilyMember"/>
>>>         </rdf:Description>
>>>
>>>         <!-- http://www.semanticweb.org/ontology1.owl#TypeOfFood -->
>>>         <rdf:Description rdf:about="&ontology1;TypeOfFood">
>>>         <owl:equivalentClass rdf:resource="&ontology2;ConsumeFood"/>
>>>         </rdf:Description>
>>>
>>>         <!-- http://www.semanticweb.org/ontology2.owl#ConsumeFood -->
>>>         <rdf:Description rdf:about="&ontology2;ConsumeFood"/>
>>>
>>>         <!--
>>>         http://www.semanticweb.org/ontology2.owl#HeadOfHouseHolder -->
>>>         <rdf:Description rdf:about="&ontology2;HeadOfHouseHolder">
>>>         <owl:equivalentClass rdf:resource="&ontology3;FamilyMember"/>
>>>         </rdf:Description>
>>>
>>>         <!-- http://www.semanticweb.org/ontology2.owl#person -->
>>>         <rdf:Description rdf:about="&ontology2;person">
>>>         <owl:equivalentClass rdf:resource="&ontology3;people"/>
>>>         </rdf:Description>
>>>
>>>         <!-- http://www.semanticweb.org/ontology3.owl#FamilyMember -->
>>>         <rdf:Description rdf:about="&ontology3;FamilyMember"/>
>>>
>>>         <!-- http://www.semanticweb.org/ontology3.owl#people -->
>>>         <rdf:Description rdf:about="&ontology3;people"/>
>>>
>>>         <!--
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         //
>>>         // Individuals
>>>         //
>>>         ///////////////////////////////////////////////////////////////////////////////////////
>>>         -->
>>>
>>>         <!-- http://www.semanticweb.org/comontology.owl#AgusSusilo -->
>>>         <owl:NamedIndividual rdf:about="&comontology;AgusSusilo">
>>>         <rdf:type rdf:resource="&ontology3;FamilyMember"/>
>>>         <owl:sameAs rdf:resource="&ontology1;agussusilo"/>
>>>         <owl:sameAs rdf:resource="&ontology3;agus_susilo"/>
>>>         </owl:NamedIndividual>
>>>
>>>         <!-- http://www.semanticweb.org/comontology.owl#Gitopawiro -->
>>>         <owl:NamedIndividual rdf:about="&comontology;Gitopawiro">
>>>         <rdf:type rdf:resource="&ontology3;FamilyMember"/>
>>>         <name rdf:datatype="&xsd;string">gito pawiro</name>
>>>         <owl:sameAs rdf:resource="&ontology1;gitopawiro"/>
>>>         <owl:sameAs rdf:resource="&ontology2;GitoPawiro"/>
>>>         <owl:sameAs rdf:resource="&ontology3;gito_pawiro"/>
>>>         </owl:NamedIndividual>
>>>
>>>         <!-- http://www.semanticweb.org/ontology1.owl#agussusilo -->
>>>         <rdf:Description rdf:about="&ontology1;agussusilo">
>>>         <owl:sameAs rdf:resource="&ontology3;agus_susilo"/>
>>>         </rdf:Description>
>>>
>>>         <!-- http://www.semanticweb.org/ontology1.owl#gitopawiro -->
>>>         <rdf:Description rdf:about="&ontology1;gitopawiro">
>>>         <owl:sameAs rdf:resource="&ontology2;GitoPawiro"/>
>>>         <owl:sameAs rdf:resource="&ontology3;gito_pawiro"/>
>>>         </rdf:Description>
>>>
>>>         <!-- http://www.semanticweb.org/ontology2.owl#GitoPawiro -->
>>>         <rdf:Description rdf:about="&ontology2;GitoPawiro">
>>>         <owl:sameAs rdf:resource="&ontology3;gito_pawiro"/>
>>>         </rdf:Description>
>>>
>>>         <!-- http://www.semanticweb.org/ontology3.owl#agus_susilo -->
>>>         <rdf:Description rdf:about="&ontology3;agus_susilo"/>
>>>
>>>         <!-- http://www.semanticweb.org/ontology3.owl#gito_pawiro -->
>>>         <rdf:Description rdf:about="&ontology3;gito_pawiro"/>
>>>         </rdf:RDF>
>>>
>>>
>>>         On Wed, Feb 1, 2012 at 7:37 PM, Matthew Horridge
>>>         <matthew.horridge at stanford.edu
>>>         <mailto:matthew.horridge at stanford.edu>> wrote:
>>>
>>>             Hi Jayadianti,
>>>
>>>             Can you repeat this every time?  Would it be possible to
>>>             post your ontologies to the list?
>>>
>>>             Cheers,
>>>
>>>             Matthew
>>>
>>>
>>>             On 30 Jan 2012, at 10:05, jayadianti herlina wrote:
>>>
>>>             > Hi all,
>>>             > I am using Protege 4.2.0 (build 249), I am working
>>>             with 3 ontologies and then importing them into 1 ontology.
>>>             > I try to map and match between 3 ontologies.
>>>             Everything going well.
>>>             > I am using DL Query (Version 1.1.0) and select a
>>>             reasoner (hermit 1.3.5 and faCT++).
>>>             > All as I expected, the query done very well, and
>>>             mapped out perfectly :)
>>>             >
>>>             > Then I save the file as usual, and then I tried to
>>>             open it again.
>>>             > I do a query with DLquery as usual and appeared dialog
>>>             box: NullPointerException: null - whereas before all
>>>             goes well.
>>>             > is this a known bug?
>>>             > Thank you very much for your help
>>>             >
>>>             > Warm Regards
>>>             > Jayadianti
>>>             > _______________________________________________
>>>             > protege-discussion mailing list
>>>             > protege-discussion at lists.stanford.edu
>>>             <mailto:protege-discussion at lists.stanford.edu>
>>>             >
>>>             https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>>>             >
>>>             > Instructions for unsubscribing:
>>>             http://protege.stanford.edu/doc/faq.html#01a.03
>>>
>>>             _______________________________________________
>>>             protege-discussion mailing list
>>>             protege-discussion at lists.stanford.edu
>>>             <mailto:protege-discussion at lists.stanford.edu>
>>>             https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>>>
>>>             Instructions for unsubscribing:
>>>             http://protege.stanford.edu/doc/faq.html#01a.03
>>>
>>>
>>>
>>>
>>>         _______________________________________________
>>>         protege-discussion mailing list
>>>         protege-discussion at lists.stanford.edu  <mailto:protege-discussion at lists.stanford.edu>
>>>         https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>>>
>>>         Instructions for unsubscribing:http://protege.stanford.edu/doc/faq.html#01a.03
>>
>>
>>         _______________________________________________
>>         protege-discussion mailing list
>>         protege-discussion at lists.stanford.edu
>>         <mailto:protege-discussion at lists.stanford.edu>
>>         https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>>
>>         Instructions for unsubscribing:
>>         http://protege.stanford.edu/doc/faq.html#01a.03
>>
>>
>>
>>
>>     _______________________________________________
>>     protege-discussion mailing list
>>     protege-discussion at lists.stanford.edu  <mailto:protege-discussion at lists.stanford.edu>
>>     https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>>
>>     Instructions for unsubscribing:http://protege.stanford.edu/doc/faq.html#01a.03
>
>
>     _______________________________________________
>     protege-discussion mailing list
>     protege-discussion at lists.stanford.edu
>     <mailto:protege-discussion at lists.stanford.edu>
>     https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>
>     Instructions for unsubscribing:
>     http://protege.stanford.edu/doc/faq.html#01a.03
>
>
>
>
> _______________________________________________
> protege-discussion mailing list
> protege-discussion at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20120210/1dd5c1ed/attachment-0001.html>


More information about the protege-discussion mailing list