Re: protege-discussion Digest, Vol 90, Issue 18

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: protege-discussion Digest, Vol 90, Issue 18

Andre Luiz Tietbohl Ramos
Dear Timothy,

Thanks for the very good explanation. Read below please.


On Ter, 2014-01-28 at 12:05 -0800, [hidden email] wrote:


Message: 2
Date: Mon, 27 Jan 2014 13:12:12 -0800
From: Timothy Redmond <[hidden email]>
To: [hidden email]
Hello,

My guess is that with a little more detail we will be able to quickly 
figure this out.  First, if possible it would be nice to see the ontology.

> I do have an Individual (own#real)

What is the full name of this individual?  If for example, you meant 
that the name is owl:real so that the full name is

    http://www.w3.org/2002/07/owl#real

In order to solve this issue I deleted the individual however the error still shows up. How so? Would there be a "hidden" individual somewhere as cleverly show below?

then this is probably the source of your problem.  Using reserved names 
(such as the names of datatypes) for your own use can lead to ambiguous 
parsing by different owl parsers.  It is possible that the parser used 
by FaCT++ generated a different in memory version of your ontology than 
the Protege parser did.  It may be a bit tricky to tell by looking at 
the rdf what the full name of the resource is.

> that does not exist in my ontology (it is not shown in Proteg?'s 
> Indivuduals tab) but exists according to the reasoner (FACT++).

By what means did FaCT++ tell you that the individual exists.  Did you 
run FaCT++ from the command line or otherwise?  This may not be 
important if my guess about your ontology is correct.

I run FACT++ from the GUI.  The message shown is:

ReasonerInternalException. Unsupported datatype 'http://www.w3.org/2002/07/owl#real'

You would want to only change those that occur as the individual.  You 
should also at some point (maybe after getting this ontology to parse in 
Protege as you expect it) change the namespace of these individuals so 
that they are not in the owl: namespace.

Ok, thanks! I will when I'm good enough using Protege for I still don't know how to accomplish it effectively.

> Version: 4.1

If by this you mean Protege 4.1, I would recommend that you upgrade to 
Protege 4.2 if you can.

Yes, it is Protege version 4.1. Using 4.2b or 4.3 doesn't help much either.

Sincerely,

Andre Luiz



_______________________________________________
protege-discussion mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-discussion

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: protege-discussion Digest, Vol 90, Issue 18

Timothy Redmond

Ok - there is a disconnect here that somewhat invalidates my initial response.  We would better understand your issue if we have a look at your ontology.

> that does not exist in my ontology (it is not shown in Proteg?'s 
> Indivuduals tab) but exists according to the reasoner (FACT++).

By what means did FaCT++ tell you that the individual exists.  Did you 
run FaCT++ from the command line or otherwise?  This may not be 
important if my guess about your ontology is correct.

I run FACT++ from the GUI.  The message shown is:

ReasonerInternalException. Unsupported datatype 'http://www.w3.org/2002/07/owl#real'

This error message does not indicate that an individual exists.  It indicates that the owl:real datatype exists but it says nothing about any individuals.  (In the OWL language, the entities in the language come in six flavours - class, object property, data property, annotation property, datatype and individual.)  While owl:real is a datatype that is included with the OWL 2 language, this error indicates that FaCT++ does not handle this datatype. 

This error does not indicate that you have any problem in your ontology.  In particular it does not mean that there is any individual in your ontology with the name owl:real.

 
> that does not exist in my ontology (it is not shown in Proteg?'s 
> Indivuduals tab) but exists according to the reasoner (FACT++).

If your ontology is well formed there will be no individual with the name owl:real.  But if you go to the entities tab in Protege and click on the datatypes tab (down on the lower left) you will see the owl:real datatype regardless of whether it is mentioned in your ontology.  If you then click on the usage tab (upper right) you will see whether and how your ontology uses the owl:real datatype.





What is the full name of this individual?  If for example, you meant 
that the name is owl:real so that the full name is

    http://www.w3.org/2002/07/owl#real

In order to solve this issue I deleted the individual however the error still shows up. How so? Would there be a "hidden" individual somewhere as cleverly show below?

There are a couple of issues here.  First of all, by the error still shows up, I am guessing that you mean that the FaCT++ reasoner is still generating the exact same error.  If you changed real to Real then I am not sure what would happen - I would have to try it.  You might be having trouble because you are using the reserved vocabulary (the owl: namespace) or you might have trouble because you didn't declare a user-defined datatype.  I would have to look at the specifications and experiment with FaCT++.  In any case this is not the right thing to do and might turn a perfectly good OWL 2 ontology into OWL Full.

Secondly, editing an RDF/XML file with a text editor is not recommended for the faint of heart.  It is very hard serialization of RDF or OWL to read, understand and modify.  It is quite possible that in editing the RDF/XML you had an unexpected consequence.

In summary, it is possible that your ontology is fine.  Some options that you have are
  • to remove all references to owl:real in your ontology.  This is very easy in Protege (though it is done in a slightly unexpected way perhaps) and I can show you what to do.
  • to use a reasoner other than FaCT++.

I also recommend that you use the latest Protege.

-Timothy



On 01/30/2014 12:32 PM, André Luiz Tietböhl Ramos wrote:
Dear Timothy,

Thanks for the very good explanation. Read below please.


On Ter, 2014-01-28 at 12:05 -0800, [hidden email] wrote:

Message: 2
Date: Mon, 27 Jan 2014 13:12:12 -0800
From: Timothy Redmond <[hidden email]>
To: [hidden email]
Hello,

My guess is that with a little more detail we will be able to quickly 
figure this out.  First, if possible it would be nice to see the ontology.

> I do have an Individual (own#real)

What is the full name of this individual?  If for example, you meant 
that the name is owl:real so that the full name is

    http://www.w3.org/2002/07/owl#real

In order to solve this issue I deleted the individual however the error still shows up. How so? Would there be a "hidden" individual somewhere as cleverly show below?

then this is probably the source of your problem.  Using reserved names 
(such as the names of datatypes) for your own use can lead to ambiguous 
parsing by different owl parsers.  It is possible that the parser used 
by FaCT++ generated a different in memory version of your ontology than 
the Protege parser did.  It may be a bit tricky to tell by looking at 
the rdf what the full name of the resource is.

> that does not exist in my ontology (it is not shown in Proteg?'s 
> Indivuduals tab) but exists according to the reasoner (FACT++).

By what means did FaCT++ tell you that the individual exists.  Did you 
run FaCT++ from the command line or otherwise?  This may not be 
important if my guess about your ontology is correct.

I run FACT++ from the GUI.  The message shown is:

ReasonerInternalException. Unsupported datatype 'http://www.w3.org/2002/07/owl#real'

You would want to only change those that occur as the individual.  You 
should also at some point (maybe after getting this ontology to parse in 
Protege as you expect it) change the namespace of these individuals so 
that they are not in the owl: namespace.

Ok, thanks! I will when I'm good enough using Protege for I still don't know how to accomplish it effectively.

> Version: 4.1

If by this you mean Protege 4.1, I would recommend that you upgrade to 
Protege 4.2 if you can.

Yes, it is Protege version 4.1. Using 4.2b or 4.3 doesn't help much either.

Sincerely,

Andre Luiz


_______________________________________________
protege-discussion mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-discussion

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03


_______________________________________________
protege-discussion mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-discussion

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03