SEMICeu / style-guide

SEMIC style guide to create reusable vocabularies and application profiles
https://semiceu.github.io/style-guide/
Creative Commons Attribution 4.0 International
9 stars 2 forks source link

Bad subclass example #63

Closed GeertThijs closed 1 year ago

GeertThijs commented 1 year ago

In § Explicit depiction of external dependencies. In the example Person inherites from foaf:Person. This contradicts a rule I think I saw elsewhere in the Style Guide that says that subclassing without added semantic value is not allowed. Wgich is the case here: a Person cannot be a specialisation of a Person.

costezki commented 1 year ago

The example shows a case of reuse with semantic adaptation. In CPV the Person is more restricted than that in FOAF.

The foaf:Person class represents people. Something is a foaf:Person if it is a person. We don't nitpic about whether they're alive, dead, real, or imaginary. The foaf:Person class is a sub-class of the foaf:Agent class, since all people are considered 'agents' in FOAF.

In contrast to that, CPV Person is defined differently: A individual human being who may be dead or alive, but not imaginary.