Basic MCF Slots
Here is a list of slots that are assumed to
exist in MCF. Since the definition of a slot has to preceed its first use, we
need a basic set of slots and terms to get the bootstrapping process started.
We will use the following conventions for ease of
readability.
- Predicate names/identifiers start with lower case alphabets.
- Category names will start with upper case alphabets.
- The names of builtin categories will be the same as their
identifiers. This is only by convention. The names of predicates have to be
the same as their identifiers by definition.
Builtin Predicates
- typeOf
The first argument is any object and the second object is a
category. This is the relation we use to say that a certain object is a Person
or an HTML document.
- superType
Both arguments are categories. This is the relation we use
to say that cats are animals.
- argumentOneType
The first argument is a predicate and second argument
is a category. argumentOneType(p, A) means that if we have p(g, ...), then
elementOf(g, A).
- argumentTwoType
Same as argumentOneType, except it applies to the
second argument.
- argumentThreeType
Same as argumentOneType, except it applies to the
third argument.
- argumentFourType
Same as argumentOneType, except it applies to the
fourth argument.
- genlSlots:
genlSlots(p1, p2) and p1(a, b) implies p2(a, b). So, if we
have genlSlots(subTopic, parent) and subTopic(Yahoo-Architecture, Yahoo-Arts),
then this implies parent(Yahoo-Architecture, Yahoo-Arts).
- parent
parent(A, B) means that there a directed arc/relation from A to
B. The inverse of parent is child so that parent(A, B) is semantically
equivalent to child(B, A).
- name
The first argument is any object and the second argument is a
string. Each object can have only one name.
- superLayer
Both the arguments are Layers. The second argument is the
layer which inherits everything from the first argument. superLayer(A, B)
means that everything in A goes into B as a default.
Builtin Categories
- Category - #"Category" refers to the object whose elements are what are
what are typically refered to as types or categories or sets or collections.
Examples include people, slots, web pages, etc. As a convention, Categories
(aka sets, types, classes) have identifiers that end with "Category".
- Slot - The category of binary relations.
- SingleEntrySlot - The category of binary relations that has at most one
value. e.g., age, height, name.
- TernaryPredicate - The category of ternary relations, i.e. predicates
which take 3 arguments.
- QuaternaryPredicate - The category of quaternary relations, i.e.
predicates which take 4 arguments.
- Layer - The categories of layers.
Other Reserved Terms
- BaseLayer
The BaseLayer is the bottom most layer and also the layer
which holds the assertions about layers (specifically, the superLayer
assertions).