owl protege restrictions on object property based on a property value

851 Views Asked by At

In my ontology I would like to say that a person can win prizes based on his/her gender.
I have a class "Actor" and a class "Prize", which has two subclasses: "Male prizes" and "Female prizes".
I specified the class "Actor" on protege this way:

 Actor subclass of:
 Actor that gender value "female" and won_prize some Female_Prizes
 Actor that gender value "male" and won_prize some Male_Prizes

Is it the correct way to handle this? I'm not very sure. The OWL output is:

Prefix: : <http://www.semanticweb.org/mary/ontologies/2017/4/MoviesOntology#>
Prefix: owl: <http://www.w3.org/2002/07/owl#>
Prefix: rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
Prefix: rdfs: <http://www.w3.org/2000/01/rdf-schema#>
Prefix: xml: <http://www.w3.org/XML/1998/namespace>
Prefix: xsd: <http://www.w3.org/2001/XMLSchema#>
Prefix: foaf: <http://xmlns.com/foaf/0.1/>

Ontology: <http://www.semanticweb.org/mary/ontologies/2017/4/MoviesOntology>

Datatype: rdf:PlainLiteral
ObjectProperty: starred_in
ObjectProperty: won_prize
DataProperty: foaf:gender

Class: foaf:Person

Class: Actor
    SubClassOf: 
        foaf:Person,
        Actor
         and (won_prize some Female_Prizes)
         and (foaf:gender value "female"),
        Actor
         and (won_prize some Male_Prizes)
         and (foaf:gender value "male"),
        starred_in some Movie

Class: Female_Prizes
Class: Male_Prizes

Class: Movie
0

There are 0 best solutions below