Unique Name Assumption
Elyes Lehtihet
lehtihet at iie.cnam.fr
Thu Apr 19 00:31:47 PDT 2007
Even by using Classes you will still have to deal with the unique name
assumption. Again the only solution is to add systematically
'owl:AllDisjoint' axioms between sibling classes - that should work if
you are not using too much multiple inheritance... the reasoner will
eventually infer inconsistencies...
All the best,
Elyes
------------- On 18/04/2007 22:40,Ed Shaya wrote:
> It does not seem to me to be a good idea to make individual
> elements/atoms instances in the first place. What if someone needs to
> refer to a specific atom sitting in their Atomic Force Microscope
> (AFM)? For this you would want to make an individual of the Class
> Carbon.
> <Carbon rdf:ID="MyCarbonAtom"/> where Carbon is a class. This also
> makes it possible to add isotopic species as subclasses. We should
> refrain from using individuals except for a named individual in the
> universe: Earth, Algol, M31, Mike Brown, MyBigRedChair.
>
> One still should make the various types of atoms owl:disjointWith,
> but, as I mentioned previously, we really need a new version of OWL to
> make this more manageable because nearly every class is distinct from
> every other class in astronomy. In any event the only loss if you do
> not use disjointWith is that a reasoner can not spot an error if
> someone tries MyCarbonAtom is both Carbon and Silicon.
>
> Ed
>
>
> Thanks, Elyes for pointing out a weakness here.
> Ed
>
>
> Elyes Lehtihet wrote:
>> Hello,
>>
>> While exploring the AstroOntology, I have noticed that you create a
>> set of individuals (instances) of the AtomicElement, SpectralType,
>> etc. As you probably know, the web ontology language use the Unique
>> Name Assumption: every concept is not, by default, necessary distinct
>> from the others. It implies that the instances of your classes are
>> not made 'explicitly' distinct for the reasoners : Carbon is not
>> explicitly distinct from Calcium, etc. etc.
>>
>> The common pattern to solve this problem is to create an
>> 'owl:AllDifferents' axiom (Protégé: OWL/Edit owl:AllDifferents...)
>> that regroups the set of instances. After, one should create a new
>> expression to enumerate the allowed values of the class. Example for
>> the LuminosityClass: {LuminosityClassII LuminosityClassV
>> LuminosityClassIII LuminosityClassIV LuminosityClassI}
>> This method assumes that a Class cannot take other values than the
>> ones explicitly defined by the enumeration - But maybe there are more
>> AtomicElement than the 14 that are cited :-)
>>
>> Best regards,
>> Elyes
>>
More information about the semantics
mailing list