OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

humanmarkup-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: howto n-ary: n-ary relns in KIF,Cyc; OKBC,Protege; RDF Fw:[protege-discussion] Re: n-ary relations



the same problem/workaround cited in the ontology-tool
protege discussion group appears to obtain for current RDF;
but note that the w3c webpage suggests that RDF might be
changed from ternary (to at least quaternary or quint)
to accomodate relations beyond the ternary 
more readily.

cf. prolog, which is essentially n-ary, especially in those
versions when the "uni" operator =.. can convert back and forth 
from a list [f1, f2, ..., fn] to f1(f2,...,fn) so that f1 becomes 
the relation or predicate or function. (Lists can readily be 
re-ordered, so there is a flexibility in perspective built
into 

-- 
 ;););) blessed are the geeks -- for they shall inherit the source code :):):) this n-ary.)
That's a far more versatile way of looking at relations.

SC

Begin forwarded message:

Date: Sun, 27 Jul 2003 03:47:49 -0400
From: Patrick Cassidy <pcassidy@bellatlantic.net>
To: protege-discussion@SMI.Stanford.EDU
Subject: [protege-discussion] Re: n-ary relations



   KIF allows relations of multiple arity and
Cyc uses multiple-arity relations.  Although
OKBC and Protege slots are nominally binary,
they also have "facets".  One can define
ones own slot classes in Protege (as subclasses
of the :STANDARD-SLOT), adding slots to the new
slot subclasses so as to make instances of
such slot classes effectively of multiple arity.
You can find an example of this usage by
downloading the files (derived from the SUMO ontology):
      ftp://micra.com/ontolog/UBLinv011.pprj
      ftp://micra.com/ontolog/UBLinv011.pont
      ftp://micra.com/ontolog/UBLinv011.pins

. . .  and looking at instances of ":TernarySlot",
where the usual "allowed-classes" and "Values"
are supplemented by ":Domain2Class" and ":Domain2Value"
facets.

     There are also other work-arounds, like
creating new classes specifically with a
structure that serves to record the multiple domains
of a multiple-arity relation.  For example, one
might want to have a "measure" relation on a class,
with a quantity and a unit of measure as the other
two elements of a ternary relation.  In Protege, one
could define a "Measurement" class with slots "quantity"
and "unitOfMeasure", and make instances of such a
class as the "range" (or the "value") of ones (nominally
binary) "measure" slot.   The use of the table instance
widget allows one to see the values of these slots in any
order desired.
    So one can record data for multiple-arity slots using
Protege.  But the lack of built-in support may make
the visualization and extraction of the information either
clumsier or more troublesome than one would like.

    Pat
======================

vanesam@ece.ubc.ca wrote:
> Hi,
> 
> I wonder if it is the common assumption when creating a knowledge model
> (specifically an ontology) in frame-base model that slots are binary
> relations. Or if it is the assumption with protege and OKBC.
> and also if there is any other protocol around than OKBC?
> I would appreciate if any one can answer me or suggest a document that
> gives me some insight in this regard.
> 
> 
> Thanks,
> Vanesa
> 
> 
> -----------------------------------------------------------
> To unsubscribe go to http://protege.stanford.edu/lists.html
> 

-- 
=============================================
Patrick Cassidy

MICRA, Inc.                      || (908) 561-3416
735 Belvidere Ave.               || (908) 668-5252 (if no answer)
Plainfield, NJ 07062-2054        || (908) 668-5904 (fax)
				
internet:   cassidy@micra.com
=============================================

-----------------------------------------------------------
To unsubscribe go to http://protege.stanford.edu/lists.html




-- 
 ;););) blessed are the geeks -- for they shall inherit the source code :):):) 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]