[Top] [All Lists]

Re: [ontolog-forum] Constructs, primitives, terms

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "doug foxvog" <doug@xxxxxxxxxx>
Date: Tue, 13 Mar 2012 10:51:19 -0400
Message-id: <713b4f083c8b8e61a27acaf1399b640e.squirrel@xxxxxxxxxxxxxxxxx>
John Sowa wrote:    (01)

> I'll try once more to explain the problems that URIs and shared
> definitions, by themselves, cannot solve.    (02)

The issue that he discusses is context.    (03)

> ...
> PT
>> I admit I am stumped by "using a vocabulary in different contexts".
>> Perhaps you mean "with a different set of axioms"? If we agree to say
>> "ex:foo", but you put it in play with different axioms than I do, we
>> haven't gained anything.    (04)

If the axioms are expressed we have.    (05)

> I'll use ordinary logic to describe the issues, but you can translate
> the description to OWL or any other version of logic anyone may prefer.
>   1. Let's suppose we have a set of globally unique terms, each of which
>      has a URI that specifies a precise definition.  The collection of
>      all those definitions can be called the global theory G.  And let's
>      assume that G is consistent -- i.e., no implied contradictions.    (06)

>   2. Logicians show that any consistent set of definitions has one or
>      more models.  Those models correspond to various applications of G
>      for different purposes.  Every statement that can be said about any
>      such model is guaranteed to be consistent with G.    (07)

>   3. But two independently developed applications, say A and B, may add
>      new information in addition to the common definitions in G.  I'll
>      call the information added to A or B the "local context" of A or B.    (08)

>   4. Let's assume that all the local applications have been thoroughly
>      debugged so that G plus each local context is consistent.  In terms
>      of model theory, that implies there exists one or more models for
>      that application, which are also among the models for G.    (09)

>   5. Unfortunately, there is no guarantee that all the models for
>      any theory G are consistent with one another.  Two applications
>      A and B that are each consistent with G can have info in their
>      local contexts that conflict with info in the other's context.    (010)

>   6. If we are lucky, that additional information might only create
>      contradictions that involve local terms so that any statements
>      that are limited to using terms in G can be shared among A and B.    (011)

>   7. Unfortunately, Murphy's Law still applies.  The new info in the
>      local contexts may create inconsistencies between A and B that
>      use only the terms defined in G.  Some statements may be true in
>      A, but false in B, *even though* they don't use any local terms.    (012)

>> Then if you say "ex:foo rdf:type ex:baz.", which is unexpected
>> in my  "context", I will ask what you mean by that, and we will
>> get even farther along.    (013)

> But point #7 implies that contradictions can arise even if there are
> no unexpected terms with unexpected definitions.    (014)

> For example, suppose both systems use the same definitions for the
> terms 'person', 'employee', and 'age'.    (015)

>From the below, it appears that 'employee' is a class, not a property.
One is normally an employee <b>of some organization</b>.  Each
organization has numerous rules for their employees which do not
apply to employees of other organizations.  No organization should
assume that some of their rules for their employees apply to employees
of other organizations.    (016)

[I would normally model 'employee' as a relation between a person
and an organization, but i digress.]    (017)

>  And let's assume that they
> also have copies of the same government rules and regulations.
> But company A has a rule that all employees must be over 18, and
> company B says that all employees must be over 21.    (018)

It is unlikely that either company has rules that apply to all employees
of all companies all over the world -- or even in their local jurisdictions
(even though that constraint does not appear in the above two rules).
Any such rule is just incorrect.  The above rules should only apply
to employees of the relevant company.  This can be done in two ways:
narrowing the definition of 'employee' to mean 'employee my firm' or
using a relation restricting those employees to whom the rules apply
to employees of that firm.  In the first case, the two companies'
definitions of 'employee' are incompatible, so we'll consider the second
       (isa ?EMP Employee)
       (worksFor ?EMP CompanyA)
       (ageInYears ?EMP ?AGE)
       (lessThan ?AGE 18)))    (019)

       (isa ?EMP Employee)
       (worksFor ?EMP CompanyB)
       (ageInYears ?EMP ?AGE)
       (lessThan ?AGE 21)))    (020)

Such rules do not conflict.  [Note that such rules would be simpler
if 'employee' were modeled as a binary predicate (instead of 'worksFor')
obviating the need for the class membership condition.]    (021)

> Then company A sends B the message "Person George is an employee."    (022)

This is not a very interesting fact: that some organization has George as
an employee.  The English phrase should be translated to "Person George
is our employee."  If B interprets that to mean that "Person George is
an employee of Company B", B has misinterpreted.  In logic, the
communication is:    (023)

       (isa PersonGeorge Employee)
       (worksFor PersonGeorge CompanyA))    (024)

> Then B concludes that George is over 21.    (025)

B would only conclude this if it concluded that George was an employee
of B or if B's rule was that every employee of any organization was
over 21.  If B has an incorrect rule, one can expect incorrect
conclusions.  If B's rule was reasonable, B would not make such a
conclusion.    (026)

> That can create a problem
> if George is only 19 and he's hired as a bartender.    (027)

> If you think that B should check George's age before hiring him,    (028)

If B has restrictions on its employees, it should certainly check to
see if candidate employees meet those restrictions.    (029)

> let's suppose that company A is a catering service, and B requires
> caterers to pour drinks.  In that case, B doesn't directly hire George,
> but a conflict arises in the task that George does while employed by A.    (030)

And this has nothing to do with a conflict in the ontologies.  B's
ontological rules (as specified above) are not violated.    (031)

If B hires a subcontractor to provide a service, but has constraints
on what providing that service means that are not in the agreed
upon definition of that service, it should be incumbent upon B
to inform A of those additional constraints.  Maybe B requires
a caterer to drive, to pour drinks, to run electrical wiring to coffee
makers, to cook fugu, to wear a tux or a miniskirt, ...  Such tasks
may require government licenses, union membership (if B is a
union shop), professional credentials, or merely have an arbitrary
additional constraint.    (032)

> The number of possible conflicts is infinite, and no fixed set
> of universal definitions can anticipate and rule out all of them.    (033)

Agreed.  This suggests that a communication can be incomplete if
relevant parts of the context are not transmitted as well.  However,
by defining contexts and rules within a context, one has the option
of verifying the constraints upon receipt of information and/or
transmitting the constraints with a query.    (034)

> John    (035)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (036)

<Prev in Thread] Current Thread [Next in Thread>