Why max operator doesnt work when min operator works

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

Why max operator doesnt work when min operator works

buksy
Hello,
I've just started using Protege and ontology and it looks interesting. I've made a little ontology about movies from IMDB. Unfortunatelly, there are few things I don't understand, which I would like to ask you experts for help.

Here is my ontology movies_post_rdf.owl (uploadmb.com: owl | rdf)

You can see I have MultipleYearsCreationTitles class which selects all Titles (movies/Tv series) which have been in production for more than 1 year (kinda equivalent to Tv series). Each title has data property "hasYearRelease", tv series have multiple of them. So I can select titles in MultipleYearsCreationTitles with "Titles and (hasYearRelease min 2 Literal)". I have also LessThan10YearsCreationTitles class which selects titles with "Titles and (hasYearRelease max 10 Literal)". Now, why doesn't this work with max operator if it works with min operator (I expect Alias tv serie to be selected in "LessThan10YearsCreationTitles")?

There is also "FunTitles" class which contains titles that have only FunGenres (example is Yes Man which have only "fun" genres (comedy & romance)). So why is "FunTitles" class empty after starting reasoner?
 
Thank you in advance :)
Reply | Threaded
Open this post in threaded view
|

Re: Why max operator doesnt work when min operator works

Lorenz Buehmann
Hi,

for the "FunTitles". It's impossible for a reasoner to infer that "Yes
Man" belongs to this class because the Open World Assumption holds in
OWL ontologies, i.e. there might be another genre which is unknown. In
this case you would have to use something like SPARQL to simulate a
Closed World Assumption or find a reasoner which allows for "closing the
world."

Lorenz
On 11/13/2013 11:11 AM, buksy wrote:

> Hello,
> I've just started using Protege and ontology and it looks interesting. I've
> made a little ontology about movies from IMDB. Unfortunatelly, there are few
> things I don't understand, which I would like to ask you experts for help.
>
> Here is my ontology  movies_post_rdf.owl
> <http://protege-project.136.n4.nabble.com/file/n4659458/movies_post_rdf.owl>
> (uploadmb.com:  owl <http://www.uploadmb.com/dw.php?id=1384337047>   |  rdf
> <http://www.uploadmb.com/dw.php?id=1384337077>  )
>
> You can see I have MultipleYearsCreationTitles class which selects all
> Titles (movies/Tv series) which have been in production for more than 1 year
> (kinda equivalent to Tv series). Each title has data property
> "hasYearRelease", tv series have multiple of them. So I can select titles in
> MultipleYearsCreationTitles with "/Titles and (hasYearRelease min 2
> Literal)/". I have also LessThan10YearsCreationTitles class which selects
> titles with "/Titles and (hasYearRelease max 10 Literal)/". Now, why doesn't
> this work with max operator if it works with min operator (I expect Alias tv
> serie to be selected in "LessThan10YearsCreationTitles")?
>
> There is also "FunTitles" class which contains titles that have only
> FunGenres (example is Yes Man which have only "fun" genres (comedy &
> romance)). So why is "FunTitles" class empty after starting reasoner?
>  
> Thank you in advance :)
>
>
>
> --
> View this message in context: http://protege-project.136.n4.nabble.com/Why-max-operator-doesnt-work-when-min-operator-works-tp4659458.html
> Sent from the Protege-OWL 4.x Support mailing list archive at Nabble.com.
> _______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>
>
>

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

Re: Why max operator doesnt work when min operator works

buksy
and what about the min & max operator? Why does max operator doesn't work? Could you please suggest how to edit ontology to make max operator work?
Reply | Threaded
Open this post in threaded view
|

Re: Why max operator doesnt work when min operator works

Dave McComb
It's part of the open world assumption.  

Create a complement of the class with the max restriction.  ( say your restriction is tricycle vehicle and hasWheels max 3). Create a vehicle instance.  Create 4 wheel instances and make sure they are mutually different from each other.  Create a complement to the Tricycle class ( say NonTrike, which is equivalent to Not Tricycle ). Put the four wheels on your vehicle and you'll see it infers to be a NonTrike.

Sent from my iPhone

On Nov 14, 2013, at 2:52 PM, "buksy" <[hidden email]> wrote:

> and what about the min & max operator? Why does max operator doesn't work?
> Could you please suggest how to edit ontology to make max operator work?
>
>
>
> --
> View this message in context: http://protege-project.136.n4.nabble.com/Why-max-operator-doesnt-work-when-min-operator-works-tp4659458p4659476.html
> Sent from the Protege-OWL 4.x Support mailing list archive at Nabble.com.
> _______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
_______________________________________________
p4-feedback mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/p4-feedback
Reply | Threaded
Open this post in threaded view
|

Re: Why max operator doesnt work when min operator works

Igor Toujilov-2

The same principle, open world: OWL ontologies require more explicit (unambiguous) information than you used to supply for old-fashioned databases. A consequence and an advantage is: OWL ontologies cope better with incomplete and incremental information than databases do.

 

For example, in your ontology, you have Alien title, and you specify: Alien hasYearRelease 1979. Do you expect Alien to be classified under LessThan10YearsCreationTitles after that? No, it is not enough: How would a reasoner know that Alien has no more release years? You need providing more information. For example, if you specify that Alien has type (hasYearRelease max 1 Literal), then a reasoner will classify Alien under LessThan10YearsCreationTitles.

 

Cheers,

Igor

 

----- Original Message -----

From: buksy

Sent: 11/14/13 09:52 PM

To: [hidden email]

Subject: Re: [p4-feedback] Why max operator doesnt work when min operator works

 
and what about the min & max operator? Why does max operator doesn't work? 
Could you please suggest how to edit ontology to make max operator work? 



-- 
View this message in context: http://protege-project.136.n4.nabble.com/Why-max-operator-doesnt-work-when-min-operator-works-tp4659458p4659476.html 
Sent from the Protege-OWL 4.x Support mailing list archive at Nabble.com. 
_______________________________________________ 
p4-feedback mailing list 
[hidden email] 
https://mailman.stanford.edu/mailman/listinfo/p4-feedback

 


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

Re: Why max operator doesnt work when min operator works

samsontu
In reply to this post by buksy
The max operator has the same issue as "only fun title" restriction: OWL's open world assumption means a tv series may be unstated years of releases. "Min" works because if a tv series is released in years 1, 2, 3, that's sufficient to prove hasReleaseYear >= 2, but not sufficient to prove hasReleaseYear <  10.

One way to get the max operator to work is to add axioms that explicitly say how many release years a tv series has: TVSeries2343 is an individual of (hasReleaseYear exactly 2).  

Samson


On Nov 14, 2013, at 1:52 PM, buksy <[hidden email]> wrote:

> and what about the min & max operator? Why does max operator doesn't work?
> Could you please suggest how to edit ontology to make max operator work?
>
>
>
> --
> View this message in context: http://protege-project.136.n4.nabble.com/Why-max-operator-doesnt-work-when-min-operator-works-tp4659458p4659476.html
> Sent from the Protege-OWL 4.x Support mailing list archive at Nabble.com.
> _______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback

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

Re: Why max operator doesnt work when min operator works

buksy
In reply to this post by Igor Toujilov-2
Thank you all for your suggestions and help. I have fixed both issues with setting "hasYearRelease max <number> Literal" on TV_Series individuals and adding "hasGenre only <Genre1> or hasGenre only <Genre2>" on Titles. Now I understand what was the problem and it works as I have expected.

Thank you again :)