Reputation: 1531
I think it is possible to use properties to describe rdfs classes. However, is it really a good practice in term of semantics.
As an example, consider that we have:
:Animal a rdfs:Class.
:Lion a rdfs:Class.
:Lion rdfs:subClassOf :Animal.
Now consider that we want to state something about all lions; for example that they have 30 teeth and covered with fur:
:countOfTeeth a rdf:Property.
:Lion :countOfTeeth "30"^^xsd:Integer.
:coveredWith a rdf:Property.
:Lion :coveredWith :fur.
Note that I am stating properties describing the class itself, i.e., not its instances.
Questions
:Lion
, will this knowledge be applicable?Please note that I am questioing the usage of properties to describe classes in this way; not whether this way of modelling knowledge about lions' teeth and fur is the best.
EDIT
I am talking from a vocabulary building perspective. The interpretation is pretty much depending on the application side. Hence, solutions like making :Lion
a subclass of an anonymous restriction is not quite what I need.
Upvotes: 1
Views: 98
Reputation: 22042
To answer your questions, in order:
There is indeed nothing syntactically wrong with this - though depending on your intent it may be semantically incorrect (as in: it may not say what you want it to say);
It's not uncommon - you will often see this kind of thing in taxonomical models (e.g. in the biological or medical domain, as mentioned in the comments). Of course that doesn't mean it is the right modelling choice in whatever use case you have in mind;
In RDFS, the fact that the class :Lion
has a teeth count has no bearing on what properties any instances of the class have. There's no inference that will make individual lions have 30 teeth, nor any validations that, when adding a new Lion, they will have the right amount of teeth.
In OWL, you would typically use a different modelling approach, by introducing a property restriction rather than just blatantly asserting a property at the class level. To be honest your caveat baffles me here: this kind of thing is vocabulary building.
The OWL 2 Primer is a good start, particularly the bits about property restrictions and about "punning" ( = allowing re-use of an indentifier as both a class and an individual).
Upvotes: 2