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 3 06:35:53 PST 2012


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
> 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/20120203/818501c7/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CommonOntology.owl
Type: application/rdf+xml
Size: 9251 bytes
Desc: not available
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20120203/818501c7/attachment-0001.owl>


More information about the protege-discussion mailing list