Thanks Zack.
I wouldn't have looked at hermes if ccw would actually not show-stop my
attempts to load titanium into eclipse, so I've filed some ccw issue here:
https://code.google.com/p/counterclockwise/issues/detail?id=531&sort=-id
Even so, as far as I could tell, they didn't (yet!) implement transactions.
So I am happy to spend some time looking at hermes ...

If someone has any suggestions about graph visualizations (preferably in
3D, but if 2D or swing, say also), my aim is somewhere into that area
whichever titan lib I choose to use. (if I don't get(easily) discouraged
along the way, usually due to encountering bugs everywhere :) )





On Tue, Feb 12, 2013 at 10:28 PM, Zack Maril <thewitzb...@gmail.com> wrote:

> Primary author of Hermes here. We've put a fair amount of work into
> getting transactions right from the very beginning.
>
> Try reading:
> https://github.com/gameclosure/hermes/wiki/Transaction-Management
> And:
> https://github.com/gameclosure/hermes/wiki/Opening-graphs
>
> I'm working on a project now that might require adding support for
> BatchGraph to hermes (if it doesn't exist already with
> hermes.core/with-graph). If you have any questions or comments,
> don't hesitate to reach out.
>
> As far as compare and contrast goes, philosophically, it seems that both
> libraries started from two very different places. Titanium was written
> after the authors had already written neocons, a great wrapper around the
> rest endpoint of neo4j. They say that they would like to roughly match the
> functionality of titanium with neocons. In the documentation for titanium,
> they suggest that right now, for production graphs, you should go use
> neocons/neo4j instead. I can't speak much more to the development of the
> library because I didn't develop it and didn't know it existed until
> yesterday.
>
> Hermes was written relatively from scratch. There were some other
> libraries floating around that sort of paired Clojure with Titan, but none
> of them were much more than somebody's monthlong fascination with a new
> open source project. So, I was learning the in's and out's of Titan,
> writing a library, and trying to get it into production as fast as possible
> all at once. We put (probably too much) thought into managing transactions.
> This let us build hermes.core/transact! and hermes.core/retry-transact!
> easily, both of which greatly simplify working with transactions. We added
> in methods for making updating the database as easy as possible,
> hermes.vertex/upsert! and hermes.edge/upconnect!. We have a pretty solid
> test suite at this point. I'd feel comfortable telling somebody to put it
> into production, with the normal caveat that goes with any software that
> hasn't hit a stable 1.0.0, things will break and only a few people in the
> world will know why.
>
> From a philosophical standpoint, I'm not comfortable with the idea that an
> API written to wrap a REST endpoint should serve as inspiration for the API
> to wrap the in process interactions with the database. Before writing
> hermes, I used neocons for a month or so and making titanium gracefully
> match seems like a tough feat to pull off. But if anybody can do it, I'm
> sure the ClojureWerkz team can. I've tried to resist talking about hermes
> too much when titanium has come up, mostly to let them have some breathing
> room and because I've been quite busy with my own Titan project as of
> late[0]. I recommend you try out both libraries and see which one best fits
> what you want to build.
>
> So, in summary, quid pro quo, two libraries enter, one library leaves,
> postgres probably already does what you want.
> -Zack
>
> [0] The project loads git repo's into Titan for analysis via Faunus. I've
> got it loading up the linux kernel on an ec2 instance right now. I'm able
> to ask a variety of questions via Faunus. Still reworking it to load repo's
> quickly and use Titan the right way for the size of the graphs likely to be
> encountered. I expect it will be formally announced once I figure out some
> neat things about the linux kernel.
>
> On Wednesday, February 13, 2013 12:16:15 AM UTC+4, AtKaaZ wrote:
>
>> I did not look at hermes, wasn't aware of it, but I'll look, thanks.
>>
>>
>> On Tue, Feb 12, 2013 at 8:56 PM, Jeroen van Dijk 
>> <jeroentj...@gmail.com>wrote:
>>
>>> Looks interesting. I'm just wondering if you had a look at hermes [1],
>>> and if so, how is it different?
>>>
>>> [1] 
>>> https://github.com/**gameclosure/hermes<https://github.com/gameclosure/hermes>
>>>
>>>
>>> On Tue, Feb 12, 2013 at 6:39 PM, AtKaaZ <atk...@gmail.com> wrote:
>>>
>>>> is there a way to use nested transactions, yet?
>>>> I am looking at [1] and [2]
>>>>
>>>> [1] https://github.com/**thinkaurelius/titan/wiki/**
>>>> Multi-Threaded-Transactions<https://github.com/thinkaurelius/titan/wiki/Multi-Threaded-Transactions>
>>>> [2] 
>>>> https://github.com/tinkerpop/**blueprints/wiki/Graph-**Transactions<https://github.com/tinkerpop/blueprints/wiki/Graph-Transactions>
>>>>
>>>>
>>>>
>>>> On Mon, Feb 11, 2013 at 6:37 PM, Michael Klishin <michael....@gmail.com
>>>> > wrote:
>>>>
>>>>> Titanium [1] is a Clojure graph library that is built on top of  Titan
>>>>> [2].
>>>>> It combines a Clojure-friendly API and graph processing DSL with the
>>>>> power of Titan.
>>>>>
>>>>> Full announcement and more details:
>>>>> http://blog.clojurewerkz.org/**blog/2013/02/11/introducing-**titanium/<http://blog.clojurewerkz.org/blog/2013/02/11/introducing-titanium/>
>>>>>
>>>>> 1. http://titanium.clojurewerkz.**org<http://titanium.clojurewerkz.org>
>>>>> 2. 
>>>>> http://thinkaurelius.github.**com/titan/<http://thinkaurelius.github.com/titan/>
>>>>> --
>>>>> MK
>>>>>
>>>>> http://github.com/**michaelklishin <http://github.com/michaelklishin>
>>>>> http://twitter.com/**michaelklishin<http://twitter.com/michaelklishin>
>>>>>
>>>>> --
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Clojure" group.
>>>>> To post to this group, send email to clo...@googlegroups.com
>>>>>
>>>>> Note that posts from new members are moderated - please be patient
>>>>> with your first post.
>>>>> To unsubscribe from this group, send email to
>>>>> clojure+u...@**googlegroups.com
>>>>>
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/**group/clojure?hl=en<http://groups.google.com/group/clojure?hl=en>
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Clojure" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to clojure+u...@**googlegroups.com.
>>>>>
>>>>> For more options, visit 
>>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>>> .
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Please correct me if I'm wrong or incomplete,
>>>> even if you think I'll subconsciously hate it.
>>>>
>>>>  --
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To post to this group, send email to clo...@googlegroups.com
>>>>
>>>> Note that posts from new members are moderated - please be patient with
>>>> your first post.
>>>> To unsubscribe from this group, send email to
>>>> clojure+u...@**googlegroups.com
>>>>
>>>> For more options, visit this group at
>>>> http://groups.google.com/**group/clojure?hl=en<http://groups.google.com/group/clojure?hl=en>
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Clojure" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to clojure+u...@**googlegroups.com.
>>>>
>>>> For more options, visit 
>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>> .
>>>>
>>>>
>>>>
>>>
>>>  --
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clo...@googlegroups.com
>>>
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> clojure+u...@**googlegroups.com
>>>
>>> For more options, visit this group at
>>> http://groups.google.com/**group/clojure?hl=en<http://groups.google.com/group/clojure?hl=en>
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to clojure+u...@**googlegroups.com.
>>>
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>> .
>>>
>>>
>>>
>>
>>
>>
>> --
>> Please correct me if I'm wrong or incomplete,
>> even if you think I'll subconsciously hate it.
>>
>>   --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
Please correct me if I'm wrong or incomplete,
even if you think I'll subconsciously hate it.

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to