Query
-- 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
--- 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