SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

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

SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Gokul
agri.owl <http://protege-project.136.n4.nabble.com/file/t376923/agri.owl>  

Hi Michael DeBellis  &Lorenz
As per your guidelines i am sharing my owl file to clear the errors. Kindly
guide me.



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Michael DeBellis-2
Gokul, thanks. Just wanted to let you know I’m traveling this week so I don’t have my desktop and Protege. Hopefully someone else can give you some help. If not I’ll take a look at your ontology when I get home but that won’t be for at least a week from today.

Michael

Sent from my iPad

> On Jun 24, 2019, at 5:51 AM, Gokul <[hidden email]> wrote:
>
> agri.owl <http://protege-project.136.n4.nabble.com/file/t376923/agri.owl>  
>
> Hi Michael DeBellis  &Lorenz
> As per your guidelines i am sharing my owl file to clear the errors. Kindly
> guide me.
>
>
>
> --
> Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

sanju tiwari
Dear Gokul

I will solve your problem soon.

On Mon, 24 Jun 2019, 20:40 Michael DeBellis, <[hidden email]> wrote:
Gokul, thanks. Just wanted to let you know I’m traveling this week so I don’t have my desktop and Protege. Hopefully someone else can give you some help. If not I’ll take a look at your ontology when I get home but that won’t be for at least a week from today.

Michael

Sent from my iPad

> On Jun 24, 2019, at 5:51 AM, Gokul <[hidden email]> wrote:
>
> agri.owl <http://protege-project.136.n4.nabble.com/file/t376923/agri.owl
>
> Hi Michael DeBellis  &Lorenz
> As per your guidelines i am sharing my owl file to clear the errors. Kindly
> guide me.
>
>
>
> --
> Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Lorenz Buehmann
In reply to this post by Gokul

The big question now is, what does not work as you expect?

Besides nobody knowing the domain of your ontology nor the semantics of some of your properties, the most obvious modeling error:

we told you now at least three times that defining multiple domains and/or ranges for the same property means the intersection of those.

For example

<owl:ObjectProperty rdf:about="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#consistOf">
    <rdfs:domain rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#agr"/>
    <rdfs:range rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#air"/>
    <rdfs:range rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#humidity"/>
    <rdfs:range rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#location"/>
    <rdfs:range rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#moisture"/>
    <rdfs:range rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#soil"/>
    <rdfs:range rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#temperature"/>
    <rdfs:range rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#water"/>
</owl:ObjectProperty>
means every time you say (:x :consistOf :y) the :y will belong to all those classes that you used as range. So :y is a :location, :water, :temperature etc.

That is not what you want. Use the union of those classes.

That said, I don't understand the purpose of a class :temperature. What would be an individual of this class?

Or even more interesting, what is the purpose of the :consistOf property? Please give an example what you want to say.


You also have some weird individuals in your ontology:

<owl:NamedIndividual rdf:about="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#cal">
    <rdf:type rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#organic_matter"/>
    <growAt rdf:resource="http://www.semanticweb.org/murali/ontologies/2018/11/untitled-ontology-31#cal"/>
    <hascalcium_mg rdf:datatype="http://www.w3.org/2001/XMLSchema#double"/>
</owl:NamedIndividual>

what is the meaning of saying (:cal :growAt :cal) ?

And why is there no value for the property :hascalcium ?

By the way, this also holds for all other individuals in your ontology.



agri.owl <http://protege-project.136.n4.nabble.com/file/t376923/agri.owl>  

Hi Michael DeBellis  &Lorenz
As per your guidelines i am sharing my owl file to clear the errors. Kindly
guide me.



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

-- 
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Gokul
hi Lorenz

I will explain you what ontology i want to develop.

I have a H2 database which consist of value for calcium, magnesium,
potassium, phosphorus and species. Now i want to develop a ontology where
calcium, magnesium, potassium, phosphorus are within the range then i must
get a output for ontology. I want to implement using the Ontop with ontop
reasoner. I also like to use SWRL rule which i have not done yet.



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Gokul
In reply to this post by Lorenz Buehmann
hi

I want the reasoner to run when i use ONTOP sparql. The reasoner shows me
error. U gave me a solution but it didn't work.
<http://protege-project.136.n4.nabble.com/file/t376923/Untitled8.jpg>  


I have attached error screen shot for your reference. You gave me a solution
but it didnot work



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

sanju tiwari
Dear Gokul

Use Pellet or Hermit reasoner to run your query.

On Wed, Jun 26, 2019 at 10:14 AM Gokul <[hidden email]> wrote:
hi

I want the reasoner to run when i use ONTOP sparql. The reasoner shows me
error. U gave me a solution but it didn't work.
<http://protege-project.136.n4.nabble.com/file/t376923/Untitled8.jpg


I have attached error screen shot for your reference. You gave me a solution
but it didnot work



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


--
Regards
Dr. Sanju Tiwari
Ontology Engineering Group
Departamento de Inteligencia Artificial
Escuela Técnica Superior de Ingenieros Informáticos
Universidad Politécnica de Madrid, Spain
Member IEEE
Member Machine Intelligence Research Labs(MIR Lab), USA




_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Gokul
hi

I want to run ontop reasoner to run .



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Michael DeBellis-2
Gokul, I'm not sure where this stands, have you gotten your problems resolved? My apologies if I'm covering things that have already been covered  I didn't read every message on the list as I was travelling. But there are a few vital points that I think you may not understand. Perhaps this has been made clear to you by now, But these are pretty important things that if you don't understand you will never make progress so in case they still aren't clear here goes:

1) I've seen you talk about the Ontop reasoner. There is a critical distinction you need to understand: Ontop is NOT a reasoner. I've never used Ontop but I took a quick look at their Github page and my understanding is that Ontop seems to be a way to map OWL objects defined in Protege to a relational database. This is a common thing to do. Protege is a modeling tool. It can model instances as well as classes but for many systems you want the efficiency and other capabilities of a database (e.g., ACID transactions) for the storage of your actual data (i.e., the Individuals in your ontology, FYI for historical reasons this is called the Abox and the declaration of classes and properties is part of the Tbox).. The reasoners that Protege supports include Pellet, Hermit, and Fact++. What a reasoner does is very different than what Ontop does. A reasoner looks at all the axioms you've defined and does 2 things: 

1.1) it makes sure they are consistent. Because OWL is a subset of First Order Logic (called Description Logic) it has the same characteristics as FOL which is if you have one inconsistency then you can infer anything to be true so the entire ontology can no longer be used for reasoning. An example of an inconsistency would be if you assert that two classes are disjoint (e.g., suppose you say that something can't be both Calcium and Magnesium) and then say that the range for property Foo is the intersection of Calcium and Magnesium and that some object X is a value of Foo. The reasoner will infer that X must be an instance of Calcium and Magnesium but that can't be true since they are disjoint and you get an inconsistency 

1.2) If the ontology IS consistent (which the version you sent in this thread was not) then the reasoner goes on to do additional inferencing. For example if you declare properties Foo and Bar to be inverses and assert that the value of Foo for object Y is X the reasoner will infer that the value of Bar for object X is Y. This is another reason to run the reasoner often: in a good ontology you often don't have to specify much of the information, the reasoner will infer it for you. More than once I've been entering data into an ontology I built and I find that information I thought I would have to enter is just there because the Reasoner could figure it out for me. 

2) You still (at least in the version sent in this thread) have either very strange or simply incoherent definitions for many of your properties. There is the issue which Lorenz and I have mentioned countless times that making the range of some object property be the intersection of several classes is almost always an error. Also, the definition of the domain for some of your data properties is just incoherent. You can't say the Domain for property hascalcium_mg is "growAt some Calcium" (actually, I'm not completely sure if that is allowed, it's just possible that such a statement would be inferred to be a class defined on the fly but I doubt it and in any case even if it worked which I doubt it will it looks very confusing).  You need to make the Domain be some class. You could create some class called CalciumHavingThing and that could have the definition "growAt some Calcium". 

I'm not surprised that the Reasoner barfs when it tries to run. You need to fix those things and get a consistent ontology. You need to do that BEFORE you even start to work with Ontop. Trying to map an inconsistent ontology to a relational database is pointless. 

3) I don't understand the individuals in your ontology. You have an individual called Cal which has the property value for growAt set to Cal. I.e., Cal growAt Cal. I don't know agriculture but that makes no sense to me. Also, you have the value for has_calciummg for Cal set to what looks to me to be the empty string. I think that is what is causing the reasoner to break because that value has to be some xsd:double, i.e., some rational number, saying it's the empty string will cause an inconsistency but my guess is that fixing that problem will reveal others. 

4) When I try loading your ontology I get an error just loading it. It's trying to import some ontology that it can't find. The import is defined in the Imported Ontologies pane at the bottom

Hope that helps. Again, I apologize to the group if I'm covering things that have already been covered. 

Michael

On Wed, Jun 26, 2019 at 1:35 AM Gokul <[hidden email]> wrote:
hi

I want to run ontop reasoner to run .



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Gokul
Thank u so much. I will work according to your guidance and make changes in
my ontology and let you know michael



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Lorenz Buehmann
In reply to this post by Michael DeBellis-2

@Michael:
Also, the definition of the domain for some of your data properties is just incoherent. You can't say the Domain for property hascalcium_mg is "growAt some Calcium" (actually, I'm not completely sure if that is allowed, it's just possible that such a statement would be inferred to be a class defined on the fly but I doubt it and in any case even if it worked which I doubt it will it looks very confusing).  You need to make the Domain be some class. You could create some class called CalciumHavingThing and that could have the definition "growAt some Calcium". 

Just to clarify as you weren't sure: It is indeed possible to use an OWL class expression like "growAt some Calcium" as domain of an object or data property [1] In the end, a class expression just describes just set of individuals like a simple class does. The same holds indeed for the range of a property. It's even possible to use a complex data range for the range of a data property.

Regarding Ontop and the term "reasoner". Well, yes it isn't an OWL DL reasoner like Pellet, Hermit etc. - in fact, it is a SPARQL engine, called Quest. On the other hand, it does indeed support some kind of inference (via query rewriting), namely, RDFS and OWL QL (both with some restrictions). Before you can use SPARQL queries from the Ontop SPARQL Tab, you have to start the reasoner, otherwise you'll get an exception "Quest must be started before using this feature".

That said, I used Ontop before and it worked as expected. So I also guess it was more a problem with the ontology and the mappings. Indeed, it's almost impossible to give better support here especially without understanding the domain and without have access to the database.

By the way, I think you provided a very nice and especially helpful answer to Gokul.


Cheers,
Lorenz


[1] https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Data_Property_Domain



On Wed, Jun 26, 2019 at 1:35 AM Gokul <[hidden email]> wrote:
hi

I want to run ontop reasoner to run .



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
-- 
Lorenz Bühmann
AKSW group, University of Leipzig
Group: http://aksw.org - semantic web research center

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Gokul
hi
i am working as per your guidance. Thank you for your kind help. you guys
are doing a great job. Thank your for your kindly heart to help me



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: SHARING MY ONTOLOGY FILE TO CLEAR ERROR(Michael DeBellis, Lorenz )

Michael DeBellis-2
Gokul, glad we could help. Also, Lorenz thanks very much for correcting my errors from my last post.

Michael

> On Jul 2, 2019, at 5:28 AM, Gokul <[hidden email]> wrote:
>
> hi
> i am working as per your guidance. Thank you for your kind help. you guys
> are doing a great job. Thank your for your kindly heart to help me
>
>
>
> --
> Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
> _______________________________________________
> protege-user mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/protege-user
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user