Hi, Jack, (01)
A couple of points:
1) there are 3 levels of OWL: Full, DL, and Lite. DL is a tractable
(description logic-like) level. Full OWL is close to, equal to, or
exceeding the power of First-Order Logic, depending on who you talk to.
I don't think there are any formal proofs yet. But OWL Full goes into
the Second-Order Logic realm (this may be a bulge, protrusion, i.e.,
convexity; there may be other indentations, intrusions, gaps, i.e.,
concavity, where it falls below FOL, I don't know, but I doubt it): by
having classes as instances, though, this is pushed beyond the usual FOL
realm. See: http://www.w3.org/TR/owl-features/#s4 for an attempted
differentiation between OWL Full and DL. (02)
So, in general, OWL is very expressive, though flavored with both frame
and axiom constructs. Now, the area where it is lacking: so-called
RULES. Why? Because like all the W3C languages so far, rules have been
excluded from the charters. In general, we've pushed the rule
formulation
into a separate language, i.e., typically into RULEML [1]. There is a
DAMLRuleML [2] variant and I expect there'll be an OWL version
eventually. (03)
A logical rule is usually expressed as a conditional (implication) or a
biconditional, the latter dependent on the former. But a conditional can
be equivalently expressed in another way: as a disjunction with a
negation. (04)
So:
X -> Y (and it's variants like 'If X then Y') == ~X \/ Y [This is
the Conditional Law]
where '==' means 'equivalent to',
'~' means 'not', i.e., negation, and
'\/' means 'or', i.e., non-exclusive disjunction (either disjunct X or Y
can be true without saying anything about the other, i.e., they could
both be true),
i.e., 'If X then Y' is equivalent to 'either not X or Y' (05)
Truth table showing the equivalence between implication (conditional)
and disjunction with a negated disjunct: (06)
X Y (X->Y) ~X (X \/ Y) (~X \/ Y)
-----------------------------------
t t t f t t
t f f f t f
f f t t f t
f t t t t t
these have same truth values, hence are logically equivalent
^ ^
|-----------------------| (07)
What's a biconditional? Just a two-way conditional:
X <-> Y (X if and only if Y, X iff Y) ==
X -> Y /\ Y-> X (if X then Y and if Y then X) (08)
However, there are other rules that just "simulate" these logical rules,
i.e., expert-system "production rules". These are condition-action rules
(if conditions then actions) that evolved in the 80s in AI because most
folks didn't know or care about logic. Although production rules can be
useful, I'm kind of agin 'em, because in general, their semantics is
underspecified. And, because they proceduralize, simulate, and only
partially "understand" the logical rule. Again, it depends on what you
mean by "rule". (09)
So, bottom line, the "semantic web" languages don't yet give you the
capability of expressing implications/conditionals, and biconditionals
(but
see [2]), but they give you comparable power via disjunction and
negation
(negation in terms of set complementation). I myself would prefer a more
logical rendition of these (rather than a description logic-like or
frame-like representation), i.e., more like KIF or even Prolog. (010)
By the way, there is the upcoming workshop on Rules and Rule Markup
Languages
for the Semantic Web (RuleML'03) http://www.semanticwebrules.org, part
of the
International Semantic Web Conference, in October, 2003, Sanibel Island,
FL. (011)
Hope this helps some,
Leo (012)
[1] RuleML: http://www.dfki.uni-kl.de/ruleml/.
[2] DAMLRuleML: http://userpages.umbc.edu/~mgandh1/DamlRuleML.html. (013)
Jack Park wrote:
>
> Leo,
>
> I've been looking closely at OWL these days. Given the points of view
> you express here, could you comment on the, shall I call it, expressive
> power of OWL in terms of, say, axoimatic systems?
>
> Thanks
> Jack
>
> Leo Obrst wrote:
>
> >Charles,
> >
> >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.
> >
> >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.
> >
> >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.
> >
> >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.
> >
> >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").
> >
> >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.
> >
> >Leo
> >
> >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
> >>
> >>
> >>
> >
> >
> >
>
> _________________________________________________________________
> 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
> (014)
--
_____________________________________________
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 (015)
_________________________________________________________________
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 (016)
|