Closed GoogleCodeExporter closed 9 years ago
The glottolog ontology at
http://glottolog.livingsources.org/ontologies/glottolog.owl
seems OK for me.
Original comment by mohamedd...@gmail.com
on 8 Aug 2012 at 9:38
Using the Protege explanation workbench
(http://owl.cs.manchester.ac.uk/explanation/) with the Pellet 1.5 reasoner, the
inferred class hierarchy is Thing=Concept=Languoid=NonterminalLanguoid. This is
obviously wrong because NonTerminalLanguoid rdfs:subclassOf Languoid.
The error is in the sublanguoid (domain:NonterminalLanguoid, range:Languoid)
and superlanguoid (domain:Languoid, range:NonterminalLanguoid) object
properties. Domains and ranges seem strange to me, but they definitely should
not be both reflexive.
NonterminalLanguoid and TerminalLanguoid should also be explicitly defined as
disjoint.
Original comment by der.brue...@googlemail.com
on 12 Aug 2012 at 4:26
I can easily remove the reflexive property, but this could create problems for
isolates, which are frequently considered a family and a language at the same
time.
I do not understand why you think that domains and ranges are strange?
NonterminalLanguoid is a Languoid with 'children'. If we have a sub/superset
relation, there is at least one of the languoids which is nonterminal by
virtue of including the other one. This means that domain/range can be
constrained a little bit further.
Original comment by sebastia...@googlemail.com
on 14 Aug 2012 at 3:28
The problem is that those relations make both classes equivalent. The
sub/superlanguoid relation is reflexive, transitive and symmetric, so they are
equivalent. It can then be further followed, that TerminalLanguoid is a
subclass of NonTerminalLanguoid, which set me off in the first place. If
Terminal and NonterminalLanguoid are not disjoint (what I thought they were),
then it could be fine. Note that I don't know the domain, the inferred class
hierarchy just didn't look right to me.
Original comment by der.brue...@googlemail.com
on 14 Aug 2012 at 5:18
> The sub/superlanguoid relation is reflexive, transitive and symmetric
It should not be symmetric (and it is not in my file). If Saxonian is a
sublanguoid of Germanic, it does not follow that Germanic is a sublanguoid of
Saxonian.
Does/would the removal of "symmetric" solve the issue as far as the reasoner is
concerned?
Original comment by sebastia...@googlemail.com
on 15 Aug 2012 at 7:09
So I spoke with Sebastian Hellmann and the problem is this: These are reflexive
relations between different classes. The reasoner entails that, if the relation
is reflexive, domain and range must be the same class. So Languoid and
Nonterminallanguoid are equivalent. To get rid of this equivalence, the
reflexivity must be removed from the objectproperties.
Protege is a nice tool for ontology debugging / editing purposes. There is an
explanation-plugin for protege which I wrote about here:
http://code.google.com/p/mlode/wiki/DebuggingOntologies
It isn't very useful in this case but the difference between asserted and
inferred class hierarchy shows the modelling error.
Original comment by der.brue...@googlemail.com
on 15 Aug 2012 at 12:53
OK, I understand. There are two possibilities
a) Just set domain and range to languoid. No terminal, no nonterminal. This
would allow for bogus statements like "Germanic is a sublanguoid of Sebastian
Nordhoff's idiolect" (my idiolect being terminal), but this is no big issue.
"Germanic is a sublanguoid of German" is equally bad, and currently allowed as
both are nonterminal.
b) Remove the reflexivity. This could have consequences in a number of areas
which I cannot predict. For instance, the geographical bounding box is
calculated over all sublanguoids with geo information. If sublanguoid is not
reflexive, this will exclude the languoid itself, often resulting in now
bounding box at all. Same goes for references.
I would therefore suggest to go with a) and loosen the constraints on domain
and range to "Languoid" in both cases
Original comment by sebastia...@googlemail.com
on 15 Aug 2012 at 1:04
I think this would be a good solution. What about a disjointness axiom between
Terminal and Nonterminallanguoid? I'm sorry to say I'm not an expert on
ontologies, but I will take a second look at the ontology and see if it can be
further refined.
Original comment by der.brue...@googlemail.com
on 15 Aug 2012 at 1:14
changed Range and Domain for Sub/Superlanguoid;
Added disjointness to (Non)TerminalLanguoid
Original comment by sebastia...@googlemail.com
on 17 Aug 2012 at 11:40
please verify
Original comment by sebastia...@googlemail.com
on 23 Aug 2012 at 1:59
verified with jena eyeball with no errors.
Original comment by mohamedd...@gmail.com
on 23 Aug 2012 at 3:07
Original issue reported on code.google.com by
kur...@googlemail.com
on 8 Aug 2012 at 6:53