Knowledge-based Information Retrieval/Handling Tool
Query parameters
Display
the knowledge representations answering each query
the document elements indexed by the representations
the representations and the document elements indexed by them
and show the queries
and do not show the queries
Constraints on the knowledge
Constraints on indexed elements
Query
CG
FCG
-- Templates --
Thing
Situation
Process
Description
Collection
-- Commands (see "control structures" at the end of this list for how to combine commands) --
================== Search & Display ================================
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
on [CGs | def | lambdas | all] //the next queries must be done on CGs and/or type definitions
use [linear | CGs | Repr | Repr&CGs] //-> query results show [linear] CGs and/or document elements
[no] meta //next CG displays must [not] show meta-information
[no] context //next CG displays must [not] show their context
display CG1 [CG2... CGn] //useful with CG names or pipes
================== Test ==================================
? CG1/T1 < CG2/T2 //test if CG1 (resp. T1) specializes CG2 (resp. T2)
proj CG1 CG2 //project CG1 on CG2
================== Assertion ==============================
CT1 {* comment *} //declare the concept type CT1
CT1 : CT1 //declare the instance I1 (the spaces are important here)
RT1 (CT1,..,CTn) {* comment *} //declare the relation type RT1 and its signature
CG1 //assert CG1
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 new_name CG1 //(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 CG [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 uses them
delRT RT1 [RT2 ... RTn] //delete relation types if no CG uses them
delI I1 [I2 ... In] //delete individual marks if no CG uses them
delCG CG1 [CG2 ... CGn] //delete CG(s)
delDef L1 [L2 ... Ln] //delete definitions (-> defined types may become atomic)
delCGs //delete all CGs
================== Run/Load/Call ========================
run DOC [ARG1 ... ARGn] //display and execute the commands which are in the document
load DOC [ARG1 ... ARGn] //execute the commands which are in the documents
load whatIs.html T1/C1 //"whatIs" lists the characteristics of a type or a concept
call DOC1 [ARG1 ... ARGn] //call a CGI server or open a document (with the GET method)
================== 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] //like Unix find; default maxlevel: 1
================== Control structures ===================
COMMAND_RETURNING_SMALL_VALUES | COMMAND //commands returning CGs may be piped
if ( STRING_OR_NUMBER_COMPARISON ) { COMMANDS } [ else { COMMANDS } ]
while ( STRING_OR_NUMBER_COMPARISON ) { COMMANDS } //op.: <, >, <=, >=, = (==), != and !
do { COMMANDS } while ( STRING_OR_NUMBER_COMPARISON ) //op.: <, >, <=, >=, = (==), != and !
for VAR in ( WHITE_SEPARATED_STRINGS ) { COMMANDS }
for VAR in STRING { COMMANDS } //the different values in the string must be separated by spaces
set VARIABLE VALUE //set a variable; then, prefixed by '$', this variable will be substituted by its value
Restricted interface
Examples of queries and scripts
--- Select one here or copy/paste one below ---
Querying knowledge in a documentation file
Script showing the possibilities of the language
Querying an ontology
Querying on knowledge indexing a file
Querying an image base
Querying CGs indexing files
Solving the Sisyphus1 office allocation problem
Testing the Formalised English
Testing the Frame-CGs
load
../kb/webkb1/KADS1.html
;
//or: load http://www.webkb.org/kb/webkb1/KADS1.html;
spec [Task]->(Subtask)->[Task];
spec [KADS1_Model_of_Expertise];
spec [KADS1_Model_of_Expertise] | maxjoin;
spec Thing_needed_for_KADS_knowledge_engineering;
run
scr.html
;
load
../kb/webkb1/topLevelOntology.html
; load
whatIs.html
Entity;
load
../kb/webkb1/interviewIndexation.html
;
spec [Task]->(Subtask)->[Task]; spec [Vehicle]; spec Thing_related_to_road_accident;
load
../kb/images/clubMed/clubMedPhotos.html
;
spec [Coco_tree]->(On)->[Beach];
spec [Jetty]<-(Near)<-[Coco_tree]->(On)->[Beach];
load
../kb/webkb1/documentsIndexation.html
;
spec [Conference]->(S_Location)->[City]->(In)->[Country:Australia];
spec [%Java];
cd ../kb; //See
../kb/webkb1/sisyphus1.html
for details on this problem solving process
load
sisyphus1Ontology.html
; load
sisyphus1DataSet1.html
;
load
sisyphus1Script.html
; //execute an office allocation algorithm
run
../kb/tests/testFE.html
; run
../doc/languages/kbfe.html
;
run
../doc/languages/kbfcg.html
;