Hi Henrik, > (rel country (+Ref +Link) NIL (+Country)) > ... > Now if I want to have all the Germans, how would that generator look? > Maybe like this?: > > (country +User (db nm +Country @CountryName))
It should be (nm +Country @CountryName (country +User)) The semantics are like this: (var +Cls @Key) will generate all objects of '+Cls' that are found using '@Key'. You can then follow other relations to connected objects, either via '+Link's and '+Joint's (var +Cls @Key link ...) or via other indexes (var +Cls @Key (var2 +Cls2) ..) Perhaps it is best to take "app/er.l" and "app/gui.l" as examples. To find an article (+Item) via its supplier, the costruct (nm +CuSu @Sup (sup +Item)) is used. This means: Search all '+CuSu' (customers/suppliers) that match '@Sup', and then follow the 'sup' index of '+Item' to locate all corresponding items. Or, to find orders (+Ord) via the supplier (nm +CuSu @Sup (sup +Item) (itm +Pos) ord) This again finds +CuSu by name, follows to the '+Items', then for each item locates all positions (+Pos), and then the '+Joint' to the order 'ord'. You see that this can be chained infinitely. The rule is that a symbol (here 'ord') specifies a direct link (or joint), while (sym +Cls) specifies an index. Cheers, - Alex -- UNSUBSCRIBE: mailto:[EMAIL PROTECTED]