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:

                  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

No ASchemeMember exactMatches an 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.

Received on Friday, 28 January 2011 19:22:55 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:46:06 UTC