@keywords a .
@prefix : <http://example.org/ns/plan3#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix log: <http://www.w3.org/2000/10/swap/log#> .

<> doc "values.n3 - Dictionary-Like Behaviour"; 
   dc:author [ foaf:homepage <http://inamidst.com/sbp/> ] .

get def ((subj pred)
   ((select ?obj where { subj pred ?obj }) 0)
) .

set def ((subj pred obj)
   (delete { subj pred ?o })
   (store { subj pred obj })
) .

show def (()
   (select ?s ?p ?o where { ?s ?p ?o }
      (say ?s ?p ?o))
   (say)
) .

main script (
   (say "Setting: Bob friends 2")
   (set Bob friends 2)
   (out "get Bob friends: ") (say (get Bob friends))
   (say "Setting: Bob friends 3")
   (set Bob friends 3)
   (out "get Bob friends: ") (say (get Bob friends))
   (say "Working context: ") (show)
) .

# EOF

