Knowledge-based Information Retrieval/Handling Tools
Query context
KB files to search
http:// -- Not yet exploited; instead, use "load ..." in the query -- -- You may remove or add files here (one URL a line) --
Inference system
CoGITo
Peirce (this option will be available at the end of october 1997)
Kinds of results
knowledge representations answering the query
document elements indexed by the knowledge representations answering the query
knowledge representations answering the query and the document elements indexed by them
Query
Possible commands (see "control structures" at the end of this list for how to combine commands)
================== Search ================================
spec CG1/T1 //give the specialisations of a CG or type ('?' may be used instead of "spec")
gene CG/T1 //give the generalisations of a CG or type
def of T1 //give the list of lambdas used for defining T1
================== Test ==================================
? CG1/T1 < CG2/T2 //test if CG1 (resp. T1) specializes CG2 (resp. T2)
proj CG1 CG2 //project CG1 on CG2"
================== Assertion ==============================
! CT1 //declare the concept type CT1
! I1 : CT1 //declare the instance I1
! RT1 (CT1,..,CTn) //declare the relation type RT1 and its signature
! CG1 //assert CG1 ('!' is optional in that case)
T1 > T2 [T3 .. Tn] //subtype T1 by T2 ..Tn
T1 < T2 [T3 .. Tn] //subtype T2 ..Tn by T1
NSC for T1 (x1,..,xn) are CG1 //define the relation type T1 with necessary&sufficient conditions
NC for T1 (x) are CG1 //add a definition with necessary conditions to the concept type T1
SC for T1 (x) are CG1 //add a definition with sufficient conditions to the concept type T1
TC for T1 (x) are CG1 //add a definition with typical conditions (schema) to the concept type T1
name CG1 new_name //(re)assert CG1 or a lambda and (re)name it (even if other CGs refered to it)
copy CG1 CG2_name //(re)assert and copy CG1 under another name
================== CG generation ==========================
maxjoin [-n CG_result_name] CG1 CG2 [CG3 ... CGn] //join CGs -> maximal number of nodes
isojoin on c1 c2 CG1 CG2 [CG_result_name] //isojoin on two CGs
join on c1 c2 CG1 CG2 [CG_result_name] //join on two CGs; concept format: type[:referent]
ijoin on c1 c2 CG1 CG2 [CG_result_name] //internal join on a CG
---------------- Combination example ------------------
spec CG | maxjoin //join the specialisations of a CG
================== Deletion ==============================
delCT CT1 [CT2 ... CTn] //delete concept types if no CG use them
delRT RT1 [RT2 ... RTn] //delete relation types if no CG use them
delI I1 [I2 ... In] //delete individual marks if no CG use them
delCG CG1 [CG2 ... CGn] //delete CG(s)
delLambda L1 [L2 ... Ln] //delete lambdas (-> defined types may become atomic)
delCGs //delete all CGs
================== Run/Load/Call ========================
run [DOC1 ... DOCn] //display and execute the commands which are in the documents
load [DOC1 ... DOCn] //execute the commands which are in the documents
call DOC1 [ARG1 ... ARGn] //call a script (CGI server or HTML&Javascript file)
call whatIs.htm T1/C1 //"whatIs" lists the characteristics of a type or a concept
================== Miscellaneous ========================
echo [-n] [ARG1 ... ARGn] //similar to Unix echo
nbArguments [ARG1 ... ARGn] //count the number of arguments
count [-bytes] [-words] [-lines] [-paragraphs] [DOC1 ... DOCn] //similar to Unix wc
pwd //similar to Unix pwd
cd [DIR] //similar to Unix cd
cat [-removeHTMLmarks | -makeURLsVisible] [DOC1 ... DOCn] //similar to Unix cat
grep [OPTIONS] REGULAR_EXPR [DOC1 ... DOCn] //cf. Unix grep
fgrep [OPTIONS] STRING [DOC1 ... DOCn] //cf. Unix fgrep
diff [OPTIONS] [DOC1 ... DOCn] //cf. Unix diff
head [OPTIONS] [DOC1 ... DOCn] //cf. Unix head
tail [OPTIONS] [DOC1 ... DOCn] //cf. Unix tail
awk [-Fc] [prog] [parameters] [DOC1 ... DOCn] //cf. Unix awk
accessibleDocFrom [-maxlevel DIGIT] [-HTMLonly] [DOC1 ... DOCn] //similar to Unix find; default maxlevel: 1
================== Control structures ===================
COMMAND_RETURNING_SMALL_VALUES | COMMAND //commands returning CGs may be piped
if ( EXPR ) { COMMANDS } [ else { COMMANDS } ] //Unix 'expr' is called to evaluate the expression
while ( EXPR ) { COMMANDS } //Unix 'expr' is called to evaluate the expression
do { COMMANDS } while ( EXPR ) //Unix 'expr' is called to evaluate the expression
for VAR in ( WHITE_SEPARATED_STRINGS ) { COMMANDS }
set VARIABLE VALUE //set a variable; then, prefixed by '$', this variable will be substituted by its value
Additional constraints
on knowledge
on indexed elements
Examples of queries and scripts
run
../kb/exKADS1.html
;
spec [Concept]; spec Concept; /* Concept is the current uppermost concept type */
run
../kb/scr.html
; /* not fully debugged */
run
../kb/exInterviewIndexation.html
;
spec [Concept]; spec Concept; /* not fully debugged */
Notes on the syntax
A command may be written on several lines.
Multiple commands must be separated by semi-colons or pipes (a CG assertion may also be followed by a dot).
HTML marks may be included inside commands.
If you use the operator '<' in a command, it must be followed by a space or a newline.