John F. Sowa | 1 Jun 15:00 2006
Picon

Defining Type Hierarchies

I am currently revising, updating, and extending the
ontology specified in my KR book, and I found it useful
to have a compact way of specifying the type hierarchy.

Following is the notation I am using.  This is not
part of the CG standard, but we could use some of
the techniques with CGs.  However, that is a separate
issue.  For now, I would just like to hear any comments
or suggestions anyone might have about the following:

  1. The following operators are used to compare type
     expressions:  "=" (equality); "<" (proper subtype);
     ">" (proper supertype); "=<" or "&le;" (subtype);
     ">=" or "&ge;" (supertype).

     Examples:

     Dog < Animal.  Animal > Dog.

     Dog =< Dog.  Dog &le; Dog.  Dog >= Dog. Dog &ge; Dog.

  2. Boolean expressions may be used with "&" for AND,
     "|" for OR, "~" for NOT, and "=" for equivalence:

     Human = Rational & Animal.

     Entity = Physical | Abstract.

  3. The top of the type hierarchy is represented by the type
     Entity, and the bottom by Absurdity.  These are related by
(Continue reading)

Anne van Rossum | 1 Jun 15:43 2006
Picon

Re: Defining Type Hierarchies

Good afternoon,

Take my comments with a grain of salt. I'm no expert...

About 3. First point. Are entity and absurdity indeed "related"? Am I allowed to mentally visualize a connection between them having the property "~" ? Second point. This notation encourages manipulation of that symbol. But boolean reform rules do not apply, isn't it? In this way: Absurdity = ~Cat | ~Dog.

About 6. Is this not sufficient?

      Disjoint ::= "Disjoint" "(" Expr ("," Expr)* ")"

Kind regards,

Andy

At 15:00 1-6-2006, John F. Sowa wrote:
 3. The top of the type hierarchy is represented by the type
    Entity, and the bottom by Absurdity.  These are related by

    Absurdity = ~Entity.


 6. Following are the grammar rules:

      Statement ::= (Expr Op Expr | Disjoint) "."

      Disjoint ::= "Disjoint" "(" Expr "," Expr ("," Expr)* ")"

      Expr ::= Term ["&" Term ("&" Term)* | "|" Term ("|" Term)*]

      Term ::= ["~"] (Name | "(" Expr ")")

      Op ::= "=" | "<" | ">" | "=<" | ">=" | "&le;" | "&ge;"

Anne C. van Rossum
1006916
TUDelft - EWI/ITS - Master Media & Knowledge engineering, Thesis Visual Iconic Language, Project VilAug
        languages: Nederlands + English + Español; nationality: Dutch; gender: male
Anne van Rossum | 1 Jun 15:46 2006
Picon

Re: Defining Type Hierarchies

Sorry, correction.

The asterisk * means probably 0 and more instances. Adding one other symbol 
for 1 and more instances would be in that case more concise. Nevertheless, 
my mistake.

Kind regards,

Andy

========================
To post a message, send mail to cg@...
To unsubscribe, send mail to majordomo@... with the command
'unsubscribe cg' in the message body.
See http://news.gmane.org/gmane.comp.ai.conceptual-graphs for the mailing list archive.
See http://conceptualgraphs.org for the Conceptual Graph Home Page.
For help or administrative assistance, mail to owner-cg@...
Bullard, Claude L (Len | 1 Jun 19:25 2006

FW: New TAG issue: genericResources-53

Perhaps members of this list will find this of interest.  

len

-----Original Message-----
From: www-tag-request@...
[mailto:www-tag-request@...] On Behalf Of Vincent Quint
Sent: Thursday, June 01, 2006 12:02 PM
To: public-tag-announce@...; www-tag@...
Cc: Vincent.Quint@...
Subject: New TAG issue: genericResources-53

All,

At the latest teleconference the TAG has accepted a new issue,
genericResources-53:
  A generic resource is a conceptual resource which may stand for
  something which has different versions over time, different translations,
  and/or different content-type representations. How should one indicate
  the relationship between these?

It is now part of the TAG issues list. Refer to the list for more details and
to track future progress:

   http://www.w3.org/2001/tag/issues.html#genericResources-53

For the TAG,
Vincent Quint, TAG co-chair.

--------------
Vincent Quint                       INRIA Rhône-Alpes
INRIA                               ZIRST
e-mail: Vincent.Quint@...      655 avenue de l'Europe
Tel.: +33 4 76 61 53 62             Montbonnot
Fax:  +33 4 76 61 52 07             38334 Saint Ismier Cedex
                                    France

========================
To post a message, send mail to cg@...
To unsubscribe, send mail to majordomo@... with the command
'unsubscribe cg' in the message body.
See http://news.gmane.org/gmane.comp.ai.conceptual-graphs for the mailing list archive.
See http://conceptualgraphs.org for the Conceptual Graph Home Page.
For help or administrative assistance, mail to owner-cg@...
John Velman | 1 Jun 23:27 2006
Picon
Picon

Re: Defining Type Hierarchies

Looks good to me.

John Velman

On Thu, Jun 01, 2006 at 09:00:16AM -0400, John F. Sowa wrote:
> I am currently revising, updating, and extending the
> ontology specified in my KR book, and I found it useful
> to have a compact way of specifying the type hierarchy.
> 
> Following is the notation I am using.  This is not
> part of the CG standard, but we could use some of
> the techniques with CGs.  However, that is a separate
> issue.  For now, I would just like to hear any comments
> or suggestions anyone might have about the following:
> 
>  1. The following operators are used to compare type
>     expressions:  "=" (equality); "<" (proper subtype);
>     ">" (proper supertype); "=<" or "&le;" (subtype);
>     ">=" or "&ge;" (supertype).
> 
>     Examples:
> 
>     Dog < Animal.  Animal > Dog.
> 
>     Dog =< Dog.  Dog &le; Dog.  Dog >= Dog. Dog &ge; Dog.
> 
>  2. Boolean expressions may be used with "&" for AND,
>     "|" for OR, "~" for NOT, and "=" for equivalence:
> 
>     Human = Rational & Animal.
> 
>     Entity = Physical | Abstract.
> 
>  3. The top of the type hierarchy is represented by the type
>     Entity, and the bottom by Absurdity.  These are related by
> 
>     Absurdity = ~Entity.
> 
>  4. To say that the conjunction of two types is Absurdity
>     implies that they are disjoint:
> 
>     Absurdity = Cat & Dog.
> 
>  5. It is often useful to say that multiple types are pairwise
>     disjoint.  I suggest the following notation
> 
>     Disjoint(Cat, Dog, Fish).
> 
>     as a synonym for
> 
>     Absurdity=Cat&Dog. Absurdity=Dog&Fish. Absurdity=Fish&Cat.
> 
>  6. Following are the grammar rules:
> 
>       Statement ::= (Expr Op Expr | Disjoint) "."
> 
>       Disjoint ::= "Disjoint" "(" Expr "," Expr ("," Expr)* ")"
> 
>       Expr ::= Term ["&" Term ("&" Term)* | "|" Term ("|" Term)*]
> 
>       Term ::= ["~"] (Name | "(" Expr ")")
> 
>       Op ::= "=" | "<" | ">" | "=<" | ">=" | "&le;" | "&ge;"
> 
> Any comments?
> 
> John Sowa
> 
> ========================
> To post a message, send mail to cg@...
> To unsubscribe, send mail to majordomo@... with the command 
> 'unsubscribe cg' in the message body.
> See http://news.gmane.org/gmane.comp.ai.conceptual-graphs for the mailing 
> list archive.
> See http://conceptualgraphs.org for the Conceptual Graph Home Page.
> For help or administrative assistance, mail to owner-cg@...
========================
To post a message, send mail to cg@...
To unsubscribe, send mail to majordomo@... with the command
'unsubscribe cg' in the message body.
See http://news.gmane.org/gmane.comp.ai.conceptual-graphs for the mailing list archive.
See http://conceptualgraphs.org for the Conceptual Graph Home Page.
For help or administrative assistance, mail to owner-cg@...
Thompson, John A | 2 Jun 00:01 2006
Picon

RE: Defining Type Hierarchies

I've always been uncomfortable with the notion that you need a separate,
compact syntax for supertype/subtype relations.  Every other KR language
I'm aware of is happy to reuse its normal relation syntax for also
expressing relations among types.

For example:  supertype (Dog, Mammal) 

 or [Dog] --> (SUPTYP) --> [Mammal].

Why be so compact with supertypes but not elsewhere?  Why have a 2nd
syntax?

John Thompson

========================
To post a message, send mail to cg@...
To unsubscribe, send mail to majordomo@... with the command
'unsubscribe cg' in the message body.
See http://news.gmane.org/gmane.comp.ai.conceptual-graphs for the mailing list archive.
See http://conceptualgraphs.org for the Conceptual Graph Home Page.
For help or administrative assistance, mail to owner-cg@...
John F. Sowa | 2 Jun 07:36 2006
Picon

Re: Defining Type Hierarchies

Andy and John,

AVR> About 3. First point. Are entity and absurdity indeed "related"?
 > Am I allowed to mentally visualize a connection between them having
 > the property "~" ?

Entity is the name of the most general type at the top of the
hierarchy.  It is defined by a predicate Entity(x), which is true
for all x, as in the following axiom:

    (Ax)Entity(x).

Absurdity is the negation of Entity.  It is false for all x:

    (Ax)~Absurdity(x).

By the rules for dealing with quantifiers and negation, this
formula implies that it is false that there exists any instance
of Absurdity:

    ~(Ex)Absurdity(x).

AVR> Second point. This notation encourages manipulation of that
 > symbol. But boolean reform rules do not apply, isn't it?

All the types in the hierarchy are defined by monadic predicates.
You can take any Boolean expression about types and add the
corresponding arguments to get the instance-level statement.

For example, the type Beast is defined as Animal and not Human:

    Beast = Animal & ~Human.

This corresponds to an equivalence, which could be represented by
the following in predicate calculus (where "iff" is an abbreviation
for if-and-only-if):

    (Ax)(Beast(x) iff (Animal(x) & ~Human(x))).

In CGIF, this could be expressed:

    [ <at> every*x]
    [Equivalence:  [Iff: [Beast ?x]] [Iff: [Animal ?x] ~[ [Human ?x]]]]

And following is the corresponding CLIF:

    (forall (x) (iff (Beast ?x) (and (Animal x) (not (Beast x)))))

All of the Boolean expressions applied to the types can be expanded
to equivalent statements in predicate calculus, CLIF, or CGIF.

JT> I've always been uncomfortable with the notion that you need
 > a separate, compact syntax for supertype/subtype relations.
 > Every other KR language I'm aware of is happy to reuse its normal
 > relation syntax for also expressing relations among types.

As the above examples show, Boolean expressions on the types tend
to be shorter, simpler, and more readable than the expansions to
statements in predicate calculus, CLIF, or CGIF.  I have found
that they're convenient for representing the information in type
hierarchies in a short, readable notation.

JT> For example:  supertype (Dog, Mammal)
 >
 > or [Dog] --> (SUPTYP) --> [Mammal].
 >
 > Why be so compact with supertypes but not elsewhere?  Why have
 > a 2nd syntax?

Actually, the statement above, which in CGIF would be

    (Suptyp [Dog] [Mammal])

actually states something different.  What it says is that there
exists an instance of Dog, which has an instance of Mammal as
its supertype.

You should actually write

    [Type: Dog]->(Suptyp)->[Type: Mammal]

In CGIF, this could also be written

    (Suptyp [Type Dog] [Type Mammal])

And it turns out that if you want to omit the type label Type,
you could do so by also removing the square brackets:

    (Suptyp Dog Mammal)

However, there are a lot of subtle issues about how to write
metalevel statements about types and map them to instance
level statements.  Instead of going through those explanations,
I have decided to use a short, succinct metalevel notation that
just states what I want to state in a succinct, readable way.

John

========================
To post a message, send mail to cg@...
To unsubscribe, send mail to majordomo@... with the command
'unsubscribe cg' in the message body.
See http://news.gmane.org/gmane.comp.ai.conceptual-graphs for the mailing list archive.
See http://conceptualgraphs.org for the Conceptual Graph Home Page.
For help or administrative assistance, mail to owner-cg@...
Anne van Rossum | 2 Jun 08:25 2006
Picon

Re: Defining Type Hierarchies

John,

What I want to know is whether De Morgan's law apply. Can 3 and 4 be combined: Absurdity = ~Entity. ~Absurdity = ~(Cat&Dog). Entity = ~Cat|~Dog. An entity is no cat or no dog.

Nevertheless, a good notation.

Kind regards,

Andy

 3. The top of the type hierarchy is represented by the type
    Entity, and the bottom by Absurdity.  These are related by

    Absurdity = ~Entity.

 4. To say that the conjunction of two types is Absurdity
    implies that they are disjoint:

    Absurdity = Cat & Dog.
Philippe MARTIN | 2 Jun 09:18 2006

Re: Defining Type Hierarchies


John,

> I am currently revising, updating, and extending the
> ontology specified in my KR book, and I found it useful
> to have a compact way of specifying the type hierarchy.

Indeed, and "essential" for presenting/visualising (and hence
updating) large ontologies (or large amounts of information
about one object). This is why I extended your compact form
for WebKB-2 in 2000 (and still occasionally extend it). This
is the FL (For-Links) sub-language of the FS (For-Structuring
language; an extension/combination of FCG, KIF and CGIF).
The grammar of FL is at
http://www.webkb.org/doc/F_languages.html#FL

>      Dog < Animal.  Animal > Dog.

For the same reasons, it is very important to be able
1) to precise many subtypes/sypertypes/link_destinations,
2) to use different kinds of links from one sources.
Hence, the core FL syntax illustrated by the following example:

 domestic_dog
   < canine,
   > pooch  mongrel  lapdog  toy_dog  hunting_dog  working_dog
     dalmatian  basenji  pug-dog  Leonberg  Newfoundland
     Great_Pyrenees  spitz  Brussels_griffon  Welsh_corgi
     poodle_dog  Mexican_hairless,
   : Lassie The_Tramp, //assuming that The_Tramp is a real dog
   exclusion:  cat  wild_dog,
   member of:  genus_Canis   *..1 dog_pack,
   name:  "dog"  "domestic_dog",
   definition:  "a member of the genus Canis"  "another def.",
   part:  0..1 tail   0..4 leg   1 head;

In WebKB-2 the creator of each term and each link also has to be
explicited but I won't detail that here. The version of the above
example in WebKB-2 is slightly more compact and is accessible at
http://www.webkb.org/bin/categSearch.cgi?categ=dog&recursLink=%3C&hyperlinks=

>   2. Boolean expressions may be used with "&" for AND,
>      "|" for OR, "~" for NOT, and "=" for equivalence:
>      Human = Rational & Animal.
>      Entity = Physical | Abstract.

There is an approach which is more in-line with the above one
(hence, more compact and handier for visualisations/updates);
if you want to state that a complete subtype partition of Entity,
I suggest the FL syntax:
  entity  >  {(physical_entity  abstract_entity)};

In FL, an open subtype partition would be stated as follow:
  entity  >  {physical_entity  abstract_entity};

Similarly, if you want to state that a human being is completely
defined as the subtype of 2 exclusive types, you can use:
  human_being  <  {(rational_entity  animal)};

And if it is not "completely" defined by these 2 supertypes:
  human_being  <  {rational_entity  animal};

>   3. The top of the type hierarchy is represented by the type
>      Entity, and the bottom by Absurdity.  These are related by
>      Absurdity = ~Entity.

Because of the common use of the terms "entity", "situation" and
"thing" in the KR communities, I personally strongly prefer the
following:

  thing
    > {(entity  situation)}  {(physical_thing  abstract_thing)},
    opposite: nothing;

>      Absurdity = Cat & Dog.

This syntax forces the use of the type Absurdity/Nothing and
the use of a separate statement (hence, this syntax is
detrimental to concision and readability).
See how my first above example use the link "exclusion".
An abbreviation can be used: in FL, it is '~', as in:
  cat ~ dog;
A subtype of "exclusion" is "opposite".

>   5. It is often useful to say that multiple types are pairwise
>      disjoint.  I suggest the following notation
>      Disjoint(Cat, Dog, Fish).
>      as a synonym for
>      Absurdity=Cat&Dog. Absurdity=Dog&Fish. Absurdity=Fish&Cat.

  animal > {cat dog fish};  //this is an "open subtype partition"
or
  cat ~ {dog fish};

Philippe

========================
To post a message, send mail to cg@...
To unsubscribe, send mail to majordomo@... with the command
'unsubscribe cg' in the message body.
See http://news.gmane.org/gmane.comp.ai.conceptual-graphs for the mailing list archive.
See http://conceptualgraphs.org for the Conceptual Graph Home Page.
For help or administrative assistance, mail to owner-cg@...
Kabbaj Adil | 2 Jun 13:53 2006
Picon

Re: 0-adic conceptual relation

Aivars and John,
 
I share the perplexity of Aivars concerning 0-adic conceptual relation:
 
In my view, a proposition p would be represented by a CG or by a context, i.e. a concept with type PROPOSITION, not by a conceptual relation.
 
At the ontological level, a relation "relates/links" concepts together .. it can't stand alone.
So, even if it is permitted in the ISO standard, it is not clear for me and I am wondering if someone really use 0-adic relation in practice.
 
Adil

"John F. Sowa" <sowa <at> bestweb.net> wrote:
Aivars,

Yes, that is permitted in the ISO standard:

>> If you want to state a proposition p, you can state it
>> by a simple relation (p) -- which has no arcs.
>
> But not in CGs conceptual relations? Right?

If you want to represent a conceptual relation p
that represents a proposition, you can write it in
CGIF as (p) with no arguments or in the display
form by a circle containing the label p and with
no arcs.

John

========================
To post a message, send mail to cg-CX82GDNeEyPcpaonp8vHtg@public.gmane.org
To unsubscribe, send mail to majordomo-CX82GDNeEyM3uPMLIKxrzw@public.gmane.org with the command 'unsubscribe cg' in the message body.
See http://news.gmane.org/gmane.comp.ai.conceptual-graphs for the mailing list archive.
See http://conceptualgraphs.org for the Conceptual Graph Home Page.
For help or administrative assistance, mail to owner-cg-CX82GDNeEyM3uPMLIKxrzw@public.gmane.org

Faites de Yahoo! votre page d'accueil sur le web pour retrouver directement vos services préférés : vérifiez vos nouveaux mails, lancez vos recherches et suivez l'actualité en temps réel. Cliquez ici.

Gmane