Skip to content
Zack Maril edited this page Dec 4, 2012 · 5 revisions

Here is a list of assumptions/conventions that developed during Hermes creation:

  • If a function ends with !, a change will be occurring in the database or a transaction will be executed; get-property,prop-map vs. set-property!,retry-transact!
  • The key of a node or edge will always be returned as a keyword;
  • The values returned by a function will always be Titan objects or Clojure collections wrapping those objects. For example:
      (v/get-keys (v/create! {:a "1" :b "2"}))
      ;;#{:a :b}
  • Automatic transactions are actively worked against by Hermes. We do not support automatic transactions and use hermes.core/ensure-graph-is-transaction-safe to throw an error whenever an automatic transaction might even occur.