> >> In my opinion, [deprecated class] sioc:User should be removed from
all
> "inference
> >> paths" involving non-deprecated terms. I would rather favour a
subclass
> >> relation from sioc:User to sioc:UserAccount (i.e., infer
recommended
> >> terms from deprecated terms, not the other way around).
> >
> > I'd say that a smart reasoner should have an optional setting that
stops
> it from inferring assertions involving deprecated classes and
properties.
> >
> > After all, sioc:User and sioc:UserAccount *are* equivalent in terms
of
> OWL semantics. It's just that the use of the one class is discouraged.
The
> current state of the SIOC ontology reflects this intention, IMO.
>
> I agree with Richard - unless I missed something with your comment,
Aidan.
> And I think that adding it as a subclass will change its semantics
(they
> are the same thing, User is not more specific than UserAccount)
Yes, [1] sets a precedent backing up Richard and Alexandre's position.
PROS for using equivalentClass (not using subClassOf):
* sioc:UserAccount will not be considered deprecated;
* maintains better backwards-compatibility with systems expecting
sioc:User memberships to be inferred as before;
* the claim is perfectly valid;
* precedent in a standard.
CONS for using equivalentClass (not using subClassOf):
* redundancy in terms, where you now effectively have two terms
identifying the same extension (members);
* all members of sioc:UserAccount will be inferred to be a member of a
deprecated class in all standard/legacy reasoning tools;
* I have to fix the RDF:Alerts system to account for such modelling.
Essentially, the former approach leads to the introduction of a
synonymous preferred term for sioc:User with strong support for the
deprecated term, and the latter approach leads towards the exclusion of
sioc:User from reasoning and shows more intent to completely phase out
the term.
<unnecessary-segue skip="optional">
What is also becoming more clear to me is two different philosophies for
RDFS/OWL:
* a 'claim-based' philosophy for describing terms in RDFS/OWL, in which
you state what you hold to be true for that term, modelling the
important aspects of your view of usage of the term;
* an 'inferencing-based' philosophy for describing terms in RDFS/OWL, in
which you create descriptions with a specific eye to creating useful
inferences through those terms.
...and, of course, various combinations of the two. I tend heavily
towards the latter (possibly in minority); for example, I would probably
never bother defining the domain of a property to be rdfs:Resource -- no
useful inference will come out of it -- whereas some people would see
that as making the claim *you can use the property on any kind of
subject*.
I think using 'equivalentClass' here tends towards a 'claim-based' view
of OWL/RDFS, whereas using 'subClassOf' would probably be more practical
from an inferencing perspective.
</unnecessary-segue>
Cheers,
Aidan
[1]
http://www.w3.org/TR/owl-ref/#Deprecation