 |
The OKBC FAQ
|
This document is the FAQ (Frequently Asked Questions)
for the Open Knowledge Base Connectivity specification.
This FAQ was put together by the joint efforts of Vinay K. Chaudhri
and Jerome Thomere at SRI International, and Bill Grosso at Section of
Medical Informatics at Stanford.
Last Updated: 07/18/98
Questions or Comments? Send them to chaudhri@ai.sri.com
Introductory and General Questions
-
What is OKBC?
-
Do I have to
know LISP to use OKBC?
-
How do I get
a copy of the OKBC Specification?
-
The OKBC Specification
is hard to read. Any helpful hints?
-
Do you have some
references for background information?
Questions about Knowledge Model
-
What is the OKBC
knowledge model?
-
Do all knowledge
base servers implement the same knowledge model?
-
What is KIF?
-
Why is there such a strong
emphasis on formal models?
-
What are the primitive
data types in OKBC?
-
What's a frame?
-
Why do you make a distinction
between frames and primitive data types?
-
What's a class?
-
What's an instance?
-
What's a slot?
-
What's a facet?
-
Why is a class defined
to be a set?
-
Does it really make
sense to have slots which are also classes?
-
Are there plans to add more
primitive data types?
-
Why do you distinguish :THING?
-
Why do you define
a set of standard slots and facets if you don't require servers to support
them?
-
Are any of the
slots and facets universally supported?
-
What if I want to place additional
restrictions on a class in my ontology? Does OKBC have any support for
axioms?
-
What happens if a server doesn't
support the entire OKBC knowledge model?
-
What is the Big Venn Diagram of
all knowledge?
Information
Useful for Writing OKBC Clients
-
What programming
languages are currently supported by OKBC?
-
How do I get
started?
-
Where can I
download the client code from?
-
How do I know
I have the correct version of the client code?
-
Does OKBC work
over a network?
-
How do
I connect to a server?
-
How do I specify
a knowledge base within a server?
-
What happens
if a connection is lost?
-
If I lose a connection
and reconnect, can I discover what the last operation completed was?
-
What
happens if I make the same assertion twice (especially with tell and ask)?
-
How
are exceptions signaled?
-
Are
the exceptions in the spec the only ones that can be signalled?
-
When would I
use tell and ask?
-
When would
I use :inference-level?
-
What does
decontextualize mean?
-
What
does one do with a decontextualized-value?
-
What's in a
frame-handle?
-
What
happens if I perform an operation while holding an enumerator?
-
I'm
concerned about concurrency and integrity issues. For example, what happens
if one client alters the knowledge base while another client is using an
enumerator?
-
What happens
if I try to fetch more objects than are in an enumerator?
-
Can
I go backwards in an enumerator?
-
What does
it mean for a method to be optional ?
-
Is there a
standard port number for a KB OKBCserver?
-
What are the
various things that can be used as arguments or received as return values?
-
What
functions are extensible by the KB?
Questions about Behaviors
-
Why are there so many behaviors?
-
How should client software
interpret behaviors?
-
Will there be new behaviors
in the future?
-
What are the most common behavior
sets?
Questions about the Procedure Language
-
Why is a procedure
language necessary?
-
Where are procedures stored?
-
If I have two clients connected
to the same knowledge base and one of them defines a procedure, can the
other one use it?
-
What happens if
an exception occurs in a procedure?
-
Is there any try/catch mechanism?
Questions about Available Implementations
-
Who has built an
OKBC compliant server?
-
If I build a knowledge base
using a particular server, am I then "tied" to that server?