User:Rhmccullough/Sandbox/Examples
See External References for additional details
commands [18]
options [19]
methods [20]
tutorial [21]
grammar [22]
predefined knowledge units [23][24]
The brief examples given below illustrate the basic features of mKR.
* attributes
John Doe has
email = jdoe@PioneerCA.com,
phone = 209-555-1212;
* relation
address book is relation with
format = [person:1, email:2, phone:3],
meaning = { $1 has email=$2, phone=$3; };
begin relation address book;
John Doe, jdoe@PioneerCA.com, 209-555-1212;
end relation address book;
* hierarchy
begin hierarchy tabula rasa;
existent;
/ group; # abstract entity
/ entity; # physical entity
/ characteristic; # property
// attribute;
// part;
// relation;
// action;
// interaction;
/ proposition;
end hierarchy tabula rasa;
* display hierarchy
existent isc* ?;
* display classes
John Doe isa* ?;
* action
at time = 10 am {
John Doe do walk
from his house
to the store
with purpose = buy food
done;
};
* definitions and context
:mKE is ke;
:at view = Aristotle { man is ANIMAL with rational; };
:at view = OWL { man isand ANIMAL, rational; };
:at view = John Doe { man is person with gender=male; };
* questions
ke do ? done; # mKE commands
ke has ?; # mKE options and variables
verb isc* ?; # mKR verbs
cat ? car; # relation
attrs := John Doe has ?; # list of attributes
* iteration
every p isu person { do print od $p done; };
* conditional
if e := John Doe has email = ?;
then do print od $e done;
fi;
* define enumeration, set, union, disjoint union, intersection, complement
color isany red, green, blue;
digits isall 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;
domestic animals isor cats, dogs, parrots;
integers isxor even numbers, odd numbers;
busy man isand father and Chief Executive Officer;
dead person isnon living person; # relative to genus person
not person isnot person; # relative to existent
* store attributes in database or table
John Doe[email] := jdoe@PioneerCA.com;
John Doe[phone] := 209-555-1212;
* print attributes
every a of John Doe { do print od John Doe[$a] done; };
* define method
char is method with
format = [ existent:1 ],
meaning = {
$1 is ?;
$1 has ?;
$1 do ? done;
};
* execute method
do char od John Doe done;
* execute UNIX shell command
! cat *.txt | sort done;
* execute mKR script
ke -m -owl <
do read owl from peirce.owl done;
do check od genus done;
do check od unknown done;
do simplify lattice od Thing done;
Thing isc* ?;
EOF
grep -v '^#' peirce.out > peirce.ho