: load-node ( id -- node ) f <node> select-tuple ;
: node-content ( node -- content )
- dup content>> [ nip ] [ select-tuple content>> ] if* ;
+ dup content>> [ ] [ select-tuple content>> ] ?if ;
-: node= ( node node -- ? ) [ id>> ] bi@ = ;
+: node= ( node node -- ? ) [ id>> ] same? ;
! TODO: get rid of arc id and write our own sql
TUPLE: arc id subject object relation ;
] if ;
: (define-relation-word) ( id-word name>> definition -- id-word )
- >r create-in over [ execute ] curry r> compose define ;
+ >r create-word-in over [ execute ] curry r> compose define ;
: define-relation-word ( relation-definition id-word given-word-name word-type definition -- relation-definition id-word )
>r >r [
[ ensure-context ensure-relation ] 2curry define ;
: create-id-word ( relation-definition -- id-word )
- dup id-word>> "id-word" choose-word-name create-in ;
+ dup id-word>> "id-word" choose-word-name create-word-in ;
PRIVATE>
: (get-node-chain) ( node next-selector seq -- seq )
pick [
- over push >r [ call ] keep r> (get-node-chain)
+ suffix! >r [ call ] keep r> (get-node-chain)
] [
2nip
] if* ;