Fully agree with Markus' beautifully written explanation, although I am not
completely convinced of the level theory - but it seems to work in the
given examples, and a few other examples I was thinking through.
Note that "Porsche 356" could very much be an instance of "car model"
- but
not of "car". All the rules that Markus has mentioned would stay intact in
this case. We often don't make the difference between "car" and "car
model"
in our day to day speech, which is a common source of confusion (i.e. "the
Porsche 356 is a beautiful car" vs "the Porsche 356 is a beautiful car
model" - both would be acceptable in natural language, but alas, not in
Wikidata).
On Thu, Sep 25, 2014 at 3:53 PM, Markus Krötzsch <
markus(a)semantic-mediawiki.org> wrote:
Hi,
I fully agree with Thomas and the other replies given here. Let me give
some other views on these topics (partly overlapping with what was said
before). It's important to understand these things to get the subclass
of/instance of thing right -- and it would be extremely useful if we could
get this right in our data :-)
What is a class and what is an item is often a matter of perspective, and
it is certainly accepted in the ontology modelling community that one thing
may need to be both.
The important thing is that "subclass of" is a relation between *similar*
things (usually of the same type):
* "sports car" subclass of "car"
* "Porsche Carrera" subclass of "sports car"
* "Porsche 356" subclass of "Porsche Carrera"
Use "A subclass of B" if it makes sense to say "all A's are also
B's" as
in "all Porsche Carreras are sports cars".
In contrast, "instance of" is between things that are very *different* in
nature:
* "Douglas Adams" instance of "human"
* "human" instance of "species"
Subclass naturally forms chains, like in my example. You can leave out
some part of the chain and the result is still meaningful:
* "Porsche Carrera" subclass of "car" [makes sense]
For instance of, this does not work:
* "Douglas Adams" instance of "species" [bogus]
So if you want to organise things in a hierarchy (specific to general),
then you need "subclass of". If you just describe the type of one thing,
then you need "instance of". It is perfectly possible that one thing
participates in both types of relationships.
In addition to these general guidelines, I would say that a well-modelled
ontology should be organised in "levels": whenever you use instance of, you
go to a higher level; if you use subclass of, you stay on your current
level. Each thing should belong to only one level. Here is an example where
this is violated:
* "Porsche Carrera" subclass of "sports car"
* "Porsche 356" subclass of "Porsche Carrera"
* "Porsche 356" instance of "sports car"
Each of these makes sense individually, but the combination is weird. We
should make up our mind if we want to treat Porsche 356 as a class (on the
same level as sports car) or as an instance (on a lower level than sports
car), but not do both at the same time. I think "subclass of" usually
should be preferred in such a case (because if it is possible to use
subclass of, then it is usually also quite likely that more specific items
occur later [Porsche 356 v1 or whatever], and we really will need subclass
of to build a hierarchy then).
Cheers,
Markus
On 25.09.2014 20:10, Thomas Douillard wrote:
Hi, this is a long discussion :) Is is allowed by
OWL2 notion called
"Punning".
The rationale is that Hydrogen is a chemical elements, and that the
chemical element is not a subclass of atom. Rather a chemical elements
is a type of atom, so chemical elements is a metaclass : a class of
class of atoms.
_______________________________________________
Wikidata-l mailing list
Wikidata-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-l
_______________________________________________
Wikidata-l mailing list
Wikidata-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-l