QuiKey/Documentation
Note: While this site is being completed, you can also find some documentation here
Contents |
[edit] Create Items
Syntax Guide
- Do no type the ' characters.
- The '?' in query items is mandatory
[edit] Create NameItems
If you want to create the NameItem Dirk, for example, you can do this by entering
'Dirk' [RETURN]
[edit] Create Relations
If you want to create the relation knows and its inverse relation is known by you can to this with the following input
'knows' [TAB] 'is known by' [RETURN]
NOTE: If you want to create a relation this way you have to give the inverse relation a name in comparison to creating a relation via the creation of a statement (see Create Statements).
[edit] Create Statements
Suppose you have two NameItems Dirk and Claudia and the relation knows with its inverse is known by. If you want to say that Dirk knows Claudia you can do this via
'Dirk' [TAB] 'knows' [TAB] 'Claudia' [RETURN]
or
'Claudia' [TAB] 'is known by' [TAB] 'Dirk' [RETURN]
You can also create statements between relations. Let's suppose further that you have the relation knows well and want to say that knows well is a subtype of knows you can do this by entering
'knows' [TAB] 'has subtype' [TAB] 'knows well' [RETURN]
If you want to say that Peter likes Petra but neither the NameItems Peter or Petra nor the relation likes are known yet you can all the same enter
'Peter' [TAB] 'likes' [TAB] 'Petra' [RETURN]
Now QuiKey creates the NameItems Peter and Petra, the relation likes and the statement.
NOTE: In the last case, the inverse relation of likes is named inverse of [likes]. For renaming relations see the section "Renaming Relations".
[edit] Create Statements With Queries
Suppose you have the query DirksFriends from section "simple queries" which has, at the moment, the results Claudia, Peter and Karina. If you know that all of Dirks actual friends live in Karlsruhe, you can enter
'DirksFriends' [TAB] 'lives in' [TAB] 'Karlsruhe'
If you do this, QuiKey will create the statements
Claudia lives in Karlsruhe, Peter lives in Karlsruhe and Karina lives in Karlsruhe
NOTE: If more people are becoming Dirks friends in the future, the statements ".. lives in Karlsruhe" will NOT be created automatically for them.
You can use this trick with every combination of positions of queries in the statement.
[edit] Create Multiple Statements At Once
If you want to say, that Dirk knows Claudia, Peter and Karina you can enter
'Dirk' [TAB] 'knows' [TAB] '!{' [TAB] 'Claudia' [TAB] 'Peter' [TAB] 'Karina' [TAB] '!}' [RETURN]
instead of typing in three almost identical statements. Think of the items between !{ and !} as a set you can place at every position of the statement. With the input
'!{' [TAB] 'Dirk' [TAB] 'Frank' [TAB] 'Hendrik' [TAB] '!}' [TAB] 'knows' [TAB] '!{' [TAB] 'Claudia' [TAB] 'Peter' [TAB] 'Karina' [TAB] '!}' [RETURN]
you can, for example, create nine statements at once.
NOTE: If the input is getting too long all items in such a set are hidden in ... and only the last entered item of a set is shown explicit.
[edit] Create Queries
[edit] Simple Queries:
Suppose you have some NameItems Dirk and Claudia and a relation knows. Assume further you have the statement (Dirk, knows, Claudia). You can create simple queries by entering
'Dirk' [TAB] 'knows' [TAB] '?DirksFriends' [RETURN]
or
'Dirk' [TAB] 'knows' [TAB] '!=' [TAB] 'DirksFriends' [RETURN]
NOTE: The '?' is not a part of the name of the query. the '?' just says QuiKey that you want to create a query and not a statement.
where [TAB] represents pressing the tabulator key and [RETURN] the enter key. Both command patterns will create a query with the name "DirksFriends".
This queryitem now represents all things that match the pattern (Dirk, knows, *).
The same way you can create
'?WhoKnowsClaudia' [TAB] 'knows' [TAB] 'Claudia' [RETURN]
and
'Dirk' [TAB] '?DirkRelationsClaudia' [TAB] 'Claudia' [RETURN]
queries.
[edit] Complex Queries:
Suppose you have two queries Query1 and Query2. Then you can combine these queries with
'Query1' [TAB] '!and' [TAB] 'Query2' [TAB] '!=' [TAB] Query1AndQuery2 [RETURN]
or
'Query1' [TAB] '!or' [TAB] 'Query2' [TAB] '!=' [TAB] Query1AndQuery2 [RETURN]
In the first case you create a query with the name "Query1AndQuery2" and its results are all items that are a results of Query1 and Query2. You know what happens in the second case. When you only enter
'Query1' [TAB] '!and' [TAB] 'Query2' [TAB]
all results of the query are shown but if you want to save that query (for example to build even bigger queries with it) you can tell QuiKey that you want to name that query "Query1AndQuery2" by completing your input with
'!=' [TAB] Query1AndQuery2 [RETURN]
[edit] Run Query
If you want to evaluate the query DirksFriends from the section "Simple Queries" you have to enter
'DirksFriends' [TAB]
or
'DirksFriends' [RETURN]
[edit] Rename Items
If you want to rename the item, for example suppose you want to rename Dirk to Dirk Flemming you can do this by entering
'Dirk' [TAB] '!rename to' [TAB] 'Dirk Flemming' [RETURN]
[edit] Delete Items
If you want to delete single items you can either enter
'item' [TAB] '!delete' [RETURN]
or if you have selected it in the suggestion list by pressing the [DEL] key of your keyboard.
To delete statements you have to select the statement in the suggestion list (you recognize statements by the yellow [S] tag) and press [DEL]
[edit] The Autocompletion
QuiKey features a kind of autocompletion. Every time you enter something into QuiKey it suggests some possible inputs in the list under the input field. So if you already have a NameItem Wolfgang Amadeus Mozart you usually do not have to type in the whole name to work with it. Whenever a item is on top of the suggestion list it will be selected as your input by default if you press [TAB]. So if you type something like "Wolf" or "Wo Am Mo" there is great change that Wolfgang Amadeus Mozart is on top of the suggestion list and you just have to press [TAB] to select it.
If your intended input is at another position of the list you can select it by navigating through the list with the [UP] and [DOWN] keys. You can always see what item is selected at the very moment by looking at the information above the input field.
If you do not want QuiKeys suggestion and select your exact input instead you have to press [UP] to set the focus on the input field. Now QuiKey uses your input when you press [TAB]. For example, suppose you have the NameItem Wolfgang Amadeus Mozart and want to create the NameItem Wolfgang you have to enter
'Wolfgang' [UP] [RETURN]
[edit] Spezial QuiKey Keys
[edit] [TAB]
When you press [TAB] you go to the next input or browsing step. Pressing [TAB] means something like: "My partial input is done. QuiKey, show me what you've got".
[edit] [RETURN]
Pressing [RETURN] usually means that you have finished your input and that you want QuiKey to create or do something. When you have typed in two items [RETURN] will create them and [TAB] will just go to the point where you can type in the third item.
If QuiKey does not know what to do with your input it will shake its head. To try this create the statement Dirk knows Claudia and type in
'Dirk' [TAB] 'knows' [RETURN]
now QuiKey will shake because your input is not valid.
[edit] [ESC]
For the [ESC] key we differentiate three QuiKey-States: State1 : The initial state like when you have just started QuiKey. No input is made State2 : Some input is made and the focus is on the input-field State3 : Some input is made and the focus is on the suggestion list (after you pressed [DOWN] for example)
If you press [ESC] in State1 QuiKey will exit. If you press [ESC] in State2 QuiKey will go to State1 If you press [ESC] in State3 QuiKey will go to State2
[edit] [DOWN] and [UP]
With [DOWN] and [UP] you can change focus between the suggestion list and the input field. Imagine the input field as the topmost cell of the suggestion list and [DOWN] and [UP] let you navigate through the list.
[edit] [DEL]
If you press [DEL] the actual selected item is going to be deleted.
[edit] Browse
To browse through your data you simply have to select a item (by typing in its name) and press [TAB]. Pressing [TAB] means something like: "My partial input is done. QuiKey, show me what you've got". Examples:
If you want to display the result of the query DirksFriends type
'DirksFriends' [TAB]
If you have the queries Query1 and Query2 you can show the result of a complex query with
'Query1' [TAB] '!and' [TAB] 'Query2' [TAB]
If you want to know everybody Dirk knows type
'Dirk' [TAB] 'knows' [TAB]
If you want to know all E-mail adresses of all people Dirk knows type
'Dirk' [TAB] 'knows' [TAB] 'has e-mail' [TAB]
If you have already entered a complete statement like Dirk knows Claudia and you browse
'Dirk' [TAB] 'knows' [TAB] 'Claudia' [TAB]
QuiKey will set Claudia to the source of your browsing.
[edit] QuiKeyCommands
QuiKeyCommands are all items with the prefix '!'. They have always provide some functionality for example tying
'!save' [RETURN]
opens a save dialog to save your current data into a file. Here is the list of all available commands
!load opens a file dialog where you can select a file with saved data to load
!save see above
!exit will exit QuiKey
!hide will hide QuiKey
!clear will set QuiKey to its initial state (no data is deleted)
!reset will delete all data and initialize a new CdsModel
!help will show you some help
!dump will print all data in the console. this is useful for debugging.
!and, !or and != are used for the creation of queries
!rename to is used to rename items. See "Renaming Items"
!delete is used to delete items. See "Delete Items"
!{ and !} are used to create multiple statements at once. See "Create Multiple Statements At Once"
!show provides functionality for IMapping. See "QuiKey and IMapping"
