W3C home > Mailing lists > Public > public-esw-thes@w3.org > January 2011

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

From: Simon Spero <ses@unc.edu>
Date: Fri, 28 Jan 2011 14:22:21 -0500
Message-ID: <AANLkTikztfvE8pc1aiL3Md3RkcgJh5mYee7qapx6AF_O@mail.gmail.com>
To: Stella Dextre Clarke <stella@lukehouse.org>
Cc: SKOS <public-esw-thes@w3.org>, Antoine Isaac <aisaac@few.vu.nl>
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
Received on Friday, 28 January 2011 19:22:55 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 2 March 2016 13:32:14 UTC