Hello Dan and all,
I think the Egor's post on naming Schema properties [1] <#1_> opens an
interesting discussion. Let me exemplify by considering property
"awards" defined both by classes http://schema.org/Person and
http://schema.org/CreativeWork.
The RDF approach defines the domain of this property as the union of
these two classes therefore when the property is named by
http://schema.org/awards then we get:
<http://schema.org/awards> rdfs:domain <http://schema.org/Person>.
<http://schema.org/awards> rdfs:domain <http://schema.org/CreativeWork>.
However in an object oriented approach if property naming considers the
class who introduced the property, e.g.,
http://schema.org/Person/awards and
http://schema.org/CreativeWork/awards then we have two different properties
<http://schema.org/Person/awards> rdfs:domain <http://schema.org/Person>.
<http://schema.org/CreativeWork/awards> rdfs:domain
<http://schema.org/CreativeWork>.
Moreover, http://schema.org/CreativeWork/awards would be allowed to be
used on any subclass of http://schema.org/CreativeWork/ as keeping with
set-theoretic semantics of object orientation (class as a collection of
all its instances).
Regards,
Adrian
[1] http://lists.w3.org/Archives/Public/public-vocabs/2012May/0031.html