Jump to content

User:Rhmccullough/Sandbox/Examples

From Wikipedia, the free encyclopedia

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 <<EOF > peirce.out

 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