Suppose I want to represent that Bill exercises once a week. I want to explore various ways of representing this in owl as I'm getting more familiar with building ontologies in owl and formulating them in turtle. I'm open to hear alternative representations, but here's the one I'm trying for:
- ActivityType is a class.
- Exercise is an instance of that class.
- Bill is an instance of Human (a class), and he performs the activity of exercise.
- Then, I want to qualify Bill's performance as something that happens once a week.
- To do that, I make a class of Frequencies, and an instance called OnceAWeek.
- Then I want to reify Bill's performing of excercise and relate that reified owl sentence to the OnceAWeek Frequency.
Here's how I tried it (I'll omit some upper ontology stuff, but that shouldn't be where any problems lie):
:performsActivityType rdf:type owl:ObjectProperty;
rdfs:Domain :Animal;
rdfs:Range :ActivityType.
:performsWithFrequency rdf:type owl:ObjectProperty;
rdfs:Domain owl:Axiom;
rdfs:Range :Frequency.
:Human rdf:type owl:Class ;
rdfs:subClassOf :Animal.
:ActivityType rdf:type owl:Class .
:Frequency rdf:type owl:Class .
:Exercise rdf:type owl:NamedIndividual, :ActivityType.
:OnceAWeek rdf:type owl:NamedIndividual, :Frequency.
:Bill rdf:type :Human;
:performsActivityType :Exercise.
[rdf:type owl:NamedIndividual, owl:Axiom ;
owl:annotatedSource :Bill;
owl:annotatedProperty :performsActivityType;
owl:annotatedTarget :Exercise;
:performsWithFrequency :OnceAWeek].
The problem: when I do this, I can't verify that I've added the intended knowledge by looking at this in Protege. I can verify that I am creating/reifying the right Axiom, as I can sneak in something like "rdfs:label "he does it once a week"" and that annotates the assertion and is visible when I open the .owl file in Protege. But I can't find a way to verify that I'm making the :performsWithFrequency claim about the (Bill performsActivityType Exercise) sentence.
Help?
(Again, thoughts on better ways to pursue this representation are also welcome, though I still want to learn how to handle this one if possible).