Charles, (01)
In general ER does not have built-in transitivity relations, e.g., the
subclass taxonomic backbone (or, equivalently, a transitivity property
declared on a particular, relation). In a real sense, there is a
difference in the set of axioms between ER and (even) simple KR
(knowledge representation) systems/languages, which make KR
systems/languages more expressive. I say "systems/languages", though
they are all best initially expressed as formal languages having their
own syntax and semantics, and then implemented in a system. So really,
language is first and system second. (02)
Relations among relations is actually very important, though you can
have a KR/ontology language in which only concepts exist, and thus
entities and relations are just the same first-class citizens, i.e.,
concepts. (03)
In the simple case, a relation can have sub-relations, i.e., parent-of,
mammal-parent-of, human-parent-of, etc. Works-at the parent of both
works-at-for-profit-company and works-at-nonprofit-company, etc. These
sub-relations typically narrow the range argument, but obviously can
narrow both the range and the domain: e.g., mammal-parent-of probably
narrows the domain and range. (04)
Slots are a bit peculiar in (most) frame languages insofar as they are
kind of like "directed" relations, i.e., a relation that has built-in
"roles", where the source of the slot is the somehow important or
primary member or focus of the relation, and the target is the secondary
member of the relation. (05)
The relation between a parent and a child for example is just one
relation. But sometimes you want to emphasize one side of the relation
vs. the other, i.e., by making two relations parent-of and child-of,
respectively. I.e., inverse relations. This is kind of more
"user-friendly", as Bob MacGregor has noted. In some systems, there is
just one relation, but there are two roles. In OO systems, this might be
expressed as two functions "parents" (as opposed to a relation
"has-children") and "children" (as opposed to a relation "has-parents"). (06)
In general, I think that the more you get involved with ontologies and
semantic modeling, the more you like the logical notions of axiomatic
systems as opposed to frame and OO languages. Things are much clearer
and precise. (07)
Leo (08)
Charles Armstrong wrote:
>
> Leo,
>
> A very interesting post.
>
> I have been trying to understand the differerences
> between OO and Frames. The main one I can see is that
> Slots have a degree of independence from the Concepts
> they connect. So you can extend the Slots themselves,
> which you can't really do with OO relations.
>
> Please could you give me an example of where this is
> useful (I can't think of one, but that is probably
> because my mind thinks in OO terms).
>
> Also are there any other differences in the
> Entity/Relationship struture between OO and Frames?
>
> Sorry if this is obvious to everyone else, but I think
> I am a good test bed for those who want to know if OO
> people will move on to Frames...
>
> C
>
> On Fri, 08 Aug 2003 17:22:09 -0400, Leo Obrst wrote:
>
> >
> > Hi, all,
> >
> > Sorry I've been removed from this discussion for so
> > long. I'd like to
> > add my two cents here, tracing back on the exchange of
> > messages between
> > Adam and Mike mostly.
> >
> > The whole distinction between frame and axiom based
> > systems comes down
> > to this point:
> >
> > A frame system is object (meaning, entity) centered.
> > Axiomatic systems
> > distribute the axioms that refer to those entities
> (you
> > can read
> > "class", in general). So, frame systems bundle the set
> > of
> > assertions/axioms around an entity class. Axiomatic
> > systems do not.
> >
> > Are they equivalent logically: yes. View a frame
> > assertion (typically
> > depicted in Protege graphically, but in the output
> > textually) as just a
> > simple axiom.
> >
> > Axiom NOT EQUIVALENT TO rule. But axioms include rules
> > (logical
> > conditionals, biconditionals). Production rules
> > (condition -> action)
> > are a different story: they simulate logical
> > implication and were
> > predominant in the days of expert systems, when logic
> > was not generally
> > known and used among the various rule communities.
> >
> > The following can be axioms:
> > (1)
> > (Class Person) [or whatever syntax you like)
> > (subClass Father Person) [these are not necessarily
> > correct sub-classes,
> > but this is just for example purposes]
> > (subClass Mother Person)
> > (has (Class Person) (Property Birthdate)) [or
> > "attribute" rather than
> > property, depending on your KR language]
> > ...
> >
> > (2)
> > Frame systems in general have a built-in transitivity
> > axiom that enables
> > inheritance of properties down the privileged
> taxonomic
> > or "sub-class"
> > relation (all OO systems implicitly have this too):
> >
> > (2a) If B is an A, and C is an B, then C is an A.
> >
> > Also related to this is modus ponens reasoning: If A
> > has X, and B is an
> > A, then B has an X. Another way of stating the latter
> > is:
> >
> > (2b)
> > If X then Y
> > X
> > ---- [conclude]
> > Y
> >
> > These are all axioms. The (1) type axioms directly
> > correspond to frame
> > like assertions. The (2) axioms begin as inference
> > rules, but once
> > stated and proved (or just stated in the definition of
> > the axiomatic
> > system), can be asserted as axioms.
> >
> > What does all of this mean: it really is a granularity
> > issue in any
> > given ontology system.
> >
> > Protege, because it is a frame system, does not give
> > ontology modeling
> > folks the direct capability of expressing axioms.
> > Instead, it (both as a
> > tool and as an expression of an underlying knowlege
> > model/language, i.e.
> > OKBC) does not carve out the knowledge representation
> > space in the same
> > set of constructs and instead parcels out the modeling
> > constructs in
> > terms of entity-oriented (OO-like) frames of
> reference,
> > where the frame
> > acts as a container for all the assertions about the
> > particular class
> > (except for built-ins special axioms like the
> > inheritance/transitivity
> > property of privileged "subclass" relations, which
> > every OO system has).
> >
> > I hope this is clear. Please let me know if it's not,
> > and I'll
> > elaborate.
> >
> > Leo
> >
> > Ps. Here are some notes on frames from a course I've
> > taught, just for
> > reference:
> >
> > - Frame-based systems are KR systems that use frames
> > - Introduced by Marvin Minsky (1975) to represent
> > domain knowledge
> > - Represent a stereotypical situation
> > - Way of structuring knowledge
> > - A network of nodes and relations
> > - Generic (nonterminal) knowledge bottoming out in
> > instances
> > (terminals)
> > - The notion of a frame corresponds to early LISP
> > programming language
> > terminology: slot & filler, record-based,
> defstruct-like
> > - Frames represent Concepts, have additional
> > information attached to
> > them: definitional, how to use, etc-
> > - In frame terminology, a concept is a Class, and a
> > relation is a Slot
> > - Attributes (sometimes called properties) are just
> > slots defined on a
> > domain (a specific class subtree) or one of its
> > subdomains (a subclass
> > of a domain class).
> > - Frames Close to OO Paradigm
> > - First formalized frame KR language: KL-1
> > - Led to Description Logics
> > - Bottom Line: Frames are equivalent to a Logical
> > Representation
> >
> > - Frame Systems: ?object-oriented?
> > - Centered around a ?frame? of reference, i.e.,
> > class, not a
> > predicate, as in logic
> > - Constructs:
> > - Frames
> > - Taxonomies: isa/subclass
> > - Multiple inheritance
> > - Slots
> > - Fillers
> > - Facets
> > - Description Logics are descendents of these, capture
> > the declarative
> > part of frames using a logic-based semantics
> > - Most DLs are decidable fragments of FOL, are very
> > closely related to
> > other formalisms such as modal logics & feature logics
> > - DL classes (concepts) can be defined intensionally
> in
> > terms of
> > descriptions that specify the properties that objects
> > must satisfy to
> > belong to the concept
> >
> > - Knowledge Interchange Format (KIF): mostly FOL, but
> > some 2nd Order
> > - Purely a neutral language of interchange language,
> > no inference
> > engine
> > - Has a LISP-like syntax
> > - KIF very close to FOPC
> > - Ontolingua built on KIF
> > - Frame Ontology of KIF enables a frame-like
> > representation of
> > ontologies
> > - OKBC (Open Knowledge Base Connectivity) language:
> a
> > declarative,
> > knowledge base API for interconnecting KBs in
> different
> > KR
> > representations
> > - The basis for XOL (XML Ontology Interchange
> > Language), based on
> > ?OKBC-Lite?
> > - XOL: the result of the study by the
> > bioinformatics group (see,
> > later)
> > - OKBC roughly equivalent to KIF, but subset
> >
> >
> > Adam Pease wrote:
> > >
> > > Mike,
> > > My understanding is that first order logic
> > completely subsumes frames
> > > and description logics. So, nothing would be lost
> by
> > choosing KIF.
> > >
> > > Adam
> > >
> > > At 11:00 AM 8/7/2003 -0400, MDaconta@xxxxxxx wrote:
> > > >Hi Adam,
> > > >
> > > >I agree that the axioms are important to have. Do
> we
> > lose any frame-based
> > > >functionality in KIF?
> > > >
> > > >Also, as we go through this I would like us to
> > continue to highlight
> > > >differences between
> > > >the approaches.
> > > >
> > > >Thanks,
> > > >
> > > >- Mike
> > > >
> > > >In a message dated 8/6/03 10:36:16 PM,
> > adampease@xxxxxxxxxxxxx writes:
> > > >> One can't just put off considering the axioms
> > until later, because they
> > > >>depend on the basic terms and relations. If the
> > terms and relations are
> > > >>created in a limited frame language, it will be
> > make the axioms very hard
> > > >>to state in a general way later.
> > > >> If we agree that axioms are important to have
> > (at some point in the
> > > >>development process), then its important right now
> > to create a
> > > >>representation that will accommodate them later.
> > > >
> > > >-------------------------------
> > > >Michael C. Daconta
> > > >Chief Scientist, APG, McDonald Bradley, Inc.
> > > >www.daconta.net
> > >
> > >
> >
> _________________________________________________________________
> > > Message Archives:
> > http://ontolog.cim3.net/forum/ontolog-forum/
> > > Subscribe/Unsubscribe/Config:
> >
> http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> > > Shared Files: http://ontolog.cim3.net/file/
> > > Community Wiki: http://ontolog.cim3.net/wiki/
> > > To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
> > >
> >
> > --
> > _____________________________________________
> > Dr. Leo Obrst The MITRE Corporation, Information
> > Semantics
> > lobrst@xxxxxxxxx Center for Innovative Computing &
> > Informatics
> > Voice: 703-883-6770 7515 Colshire Drive, M/S H305
> > Fax: 703-883-1379 McLean, VA 22102-7508, USA
> >
> >
> _________________________________________________________________
> > Message Archives:
> > http://ontolog.cim3.net/forum/ontolog-forum/
> > Subscribe/Unsubscribe/Config:
> >
> http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> > Shared Files: http://ontolog.cim3.net/file/
> > Community Wiki: http://ontolog.cim3.net/wiki/
> > To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
> >
>
> _________________________________________________
> One Structure, Many Uses : http://www.kanabos.com
> _________________________________________________________________
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Subscribe/Unsubscribe/Config:
>http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Shared Files: http://ontolog.cim3.net/file/
> Community Wiki: http://ontolog.cim3.net/wiki/
> To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx
> (09)
--
_____________________________________________
Dr. Leo Obrst The MITRE Corporation, Information Semantics
lobrst@xxxxxxxxx Center for Innovative Computing & Informatics
Voice: 703-883-6770 7515 Colshire Drive, M/S H305
Fax: 703-883-1379 McLean, VA 22102-7508, USA (010)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config:
http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx (011)
|