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