Re: Fwd: "zero relations" in dataset mappings (has no matching entity in)

Some very clever use of OWL, nice!

Cheers,

Alistair

On Fri, Jan 28, 2011 at 02:22:21PM -0500, Simon Spero wrote:
> On Fri, Jan 28, 2011 at 11:53 AM, Stella Dextre Clarke <stella@lukehouse.org
> > wrote:
> 
> > This sounds to me like either a red herring or a sledgehammer to crack a
> > nut. If I understand the original proposition correctly, during a mapping
> > exercise a housekeeping device is needed to keep track of what concepts have
> > been dealt with, and which ones still await investigation. In the old days I
> > used to print out a simple list of all the concepts to be mapped, work
> > systematically through them and tick them off in pencil when they were done
> > (whether or not a valid mapping turned out to be feasible).
> >
> 
> It is easy to deal with the issue false positives without making any changes
> to SKOS;  OWL allows for negative property  assertions (explicitly stating
> that a relationship does not hold). For example, if there are two Concepts ,
> *A* and *B , *and you want to explicitly record the fact that *A *is not an
> exact match for *B* , you can simply assert:
> 
> NegativeObjectPropertyAssertion(skos:exactMatch :A :B)
> 
> It's also possible to use OWL to  explicitly close off the membership of a
> conceptScheme which requires  listing all the things that are members of the
> scheme, using an owl restriction class.
> 
> EquivalentClasses(ObjectHasValue(skos:inScheme :aScheme)
>                   ObjectOneOf(:B :A))
> )
> 
> This says (in Attempto controlled English):
> 
> Everything that isInScheme aScheme is
>       something that is A or that is B.
> Everything that is A or that is B isInScheme aScheme
> 
> Note that any additional Concepts that are declared to be in aScheme will be
> inferred to be identical to one of the listed members.
> 
> We can define a class ASchemeMember to be the class of everything that is in
> scheme aScheme:
> 
> EquivalentClasses(:ASchemeMember
>                   ObjectHasValue(:isInScheme :aScheme))
> 
> 
> That is to say:
> 
> Every ASchemeMember isInScheme aScheme.
> Everything that isInScheme aScheme is an ASchemeMember.
> 
> 
> 
> One can then state that there are no exact matches amongst members of the
> scheme.
> 
> No ASchemeMember exactMatches an ASchemeMember .
> 
> --->
> 
> DisjointClasses(:ASchemeMember
>                 ObjectSomeValuesFrom(:exactMatch :ASchemeMember))
> 
> One could also declare a second conceptScheme bScheme, and declare that
> nothing in bScheme is an exactMatch for A.
> 
> Every BSchemeMember isInScheme bScheme.
> Everything that isInScheme bScheme is a BSchemeMember.
> 
> No BSchemeMember exactMatch A.
> 
> ---->
> 
> EquivalentClasses(:BSchemeMember ObjectHasValue(:isInScheme :bScheme))
> DisjointClasses(:BSchemeMember ObjectHasValue(skos:exactMatch :A))
> 
> 
> Since OWL does not allow you to  state the context in which certain
> assertions are true (c.f. the use of Microtherory in Cyc ),  any additions
> to a concept Scheme that change the truth conditions of the exactMatch
> assertion require the creation of a new ConceptScheme object.
> 
> Simon

-- 
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health <http://cggh.org>
The Wellcome Trust Centre for Human Genetics
Roosevelt Drive
Oxford
OX3 7BN
United Kingdom
Web: http://purl.org/net/aliman
Email: alimanfoo@gmail.com
Tel: +44 (0)1865 287669

Received on Tuesday, 1 February 2011 17:26:54 UTC