Sizwe, Jeremy Great that you are both enthused on using Apache Isis with Neo4J. I can't claim any experience at all with it as a datastore (other than watching a presentation or two at conferences/youtube) but it's gratifying to know that our decision to use JDO/DataNucleus is opening this up as a possibility for you.
If you can collaborate together that'd be great, but whichever, do tell us of any issues/snags/gaps you encounter so that we can evolve Isis in order to best support your use cases. Cheers Dan On 23 December 2014 at 20:07, Branham, Jeremy [HR] < [email protected]> wrote: > Sizwe - > I feel your excitement and believe there are major benefits to using a > graph data store. > Maybe some sort of conditional workflow could be realized through the > relationships, or general analysis operations based on aggregations, > centrality algorithms, etc... > > I put together an Isis add-on yesterday that spins up the neo4j REST and > admin services alongside a running Isis application when using embedded > neo4j, but it would be nice to use the latest data-nucleus packages so the > neo4j 2.x release could be leveraged. [currently working with neo4j 1.9.9] > It's not necessary, but the graph browser/console for 2.x would be a nice > perk. > Though, there are other ways to visualize the data using JS + D3.js > > One thing I noticed, nodes added through Isis weren’t visible in the neo4j > admin panel. It may have to do with labeling/indexing. I'm not sure yet. > > Let me know if there is anything I can help with or if you want to partner > on some development. > > > Jeremy D. Branham > Tel: **DOTNET > > > -----Original Message----- > From: Mabanga, Sizwe [mailto:[email protected]] > Sent: Tuesday, December 23, 2014 4:44 AM > To: [email protected] > Subject: RE: How would I use neo4j with Apache Isis? > > Hi Guys > > I'm incredibly excited about naked objects as a software design > philosophy, but when I read up on Neo4j and graph databases (after reading > this thread) I almost had an aneurysm. > > These two (naked objects and graph databases) seem to be a match made in > heaven! Persistence models in general can do with an elevation of > relationships (edges) to first class entities as opposed to shallow > composition relationships based on numerical constraints! > > Isis viewers would simply then list an entity's (node) properties as > usual, but the current list of collections (shallow compositional > relationships) would be replaced with a list of rich relationships that the > entity has. > > To start with we can make the list of possible entity relationships static > (developer defined) but later we should enable that users add new > relationship types as and when needed (making them 1st class graph > creators). > > Isis's early adoption of this model could serve as an even bigger > differentiator for Isis and align it more closely to the movement towards > cleaner/stronger semantics in our code (the movement championed by Naked > Objects). > > Please excuse my excessive use of parenthesis and tell whether I'm on the > money? > > Thnx > Sizwe > > -----Original Message----- > From: Branham, Jeremy [HR] [mailto:[email protected]] > Sent: 22 December 2014 09:42 PM > To: [email protected] > Subject: RE: How would I use neo4j with Apache Isis? > > Great! > I'll be working with this quite a bit so I do expect to contribute further. > I've also subscribed to the StackOverflow tags in case there are others > needing assistance with Isis + Neo4J. > > Thank you Dan. > > Jeremy D. Branham > Tel: **DOTNET > > > -----Original Message----- > From: Dan Haywood [mailto:[email protected]] > Sent: Monday, December 22, 2014 1:35 PM > To: users > Subject: Re: How would I use neo4j with Apache Isis? > > Hi Jeremy, > > OK, I've merged in that pull request, thanks again for providing. > > I've also added a new page to the website, see [1] and [2] and updated the > snapshot archetypes [3] (though probably still being built as I write > this...) > > I've signposted all up as "experimental", so if you find any issues as you > play with neo4j then do say. > > Cheers > Dan > > > [1] http://isis.apache.org/documentation.html > [2] http://isis.apache.org/components/objectstores/jdo/using-neo4j.html > [3] http://isis.apache.org/intro/getting-started/simpleapp-archetype.html > > > > > On 22 December 2014 at 14:30, Branham, Jeremy [HR] < > [email protected]> wrote: > > > Dan - > > Thanks for the warm welcome and the consideration. > > I've never created a pull request before so this is exciting for me, > > especially given it's an Apache project. > > Apache has done so much for open source and I have a great respect for > > all contributors involved. > > > > I've updated the fork and recommitted. > > Thanks again! > > > > Jeremy D. Branham > > Tel: **DOTNET > > > > > > -----Original Message----- > > From: Dan Haywood [mailto:[email protected]] > > Sent: Monday, December 22, 2014 2:32 AM > > To: users > > Subject: Re: How would I use neo4j with Apache Isis? > > > > Hi Jeremy, > > > > ... and welcome to the mailing list. > > > > Very nice to see you trying out Apache Isis with Neo4J, and submitting > > a patch already too [1] with pull request [2]. > > > > To be completely honest, although one of the reasons we chose > > DataNucleus and JDO for the ORM was because it gave us NoSQL support > > "for free", there's very little experience of using it with anything > > other than against an RDBMS. That's not quite true: Maurizio Taverna, > > one of our committers, has successfully run Apache Isis against GAE, > > and we made one or two minor commits to enable that; there's a brief > > page on our website on the topic [3]. > > > > Given the change you've made is so minor, I have no problems in > > merging in your pull request. That way, you're not maintaining your > > own fork, and if there are further changes that are needed then we can > > address them as need be. > > > > There are one or two minor tweaks to that PR, if you could address > > those and recreate then I'll merge them in. > > > > So thanks again... it'd be great to say (hand on heart) that we > > support running on Neo4J. > > > > Cheers > > Dan > > > > [1 ]https://issues.apache.org/jira/browse/ISIS-983 > > [2] https://github.com/apache/isis/pull/16 > > [3] > > > > http://isis.apache.org/components/objectstores/jdo/deploying-on-the-go > > ogle-app-engine.html > > > > > > > > > > > > On 21 December 2014 at 01:07, Branham, Jeremy [HR] < > > [email protected]> wrote: > > > > > I'm not sure what the implications are, but I was able to get a > > > neo4j datastore working with Apache Isis by modifying > > > org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationCo > > > mp onents#createSchema in the "Isis Core Runtime module" to check if > > > the datanucleus StoreManager supports the SchemaAwareStoreManager > > > interface before casting. > > > > > > It is persisting data successfully. > > > > > > > > > private void createSchema(final Map<String, String> props, final > > > Set<String> classesToBePersisted) { > > > final JDOPersistenceManagerFactory jdopmf = > > > (JDOPersistenceManagerFactory)persistenceManagerFactory; > > > final NucleusContext nucleusContext = jdopmf.getNucleusContext(); > > > final StoreManager storeManager = nucleusContext.getStoreManager(); > > > if (storeManager instanceof SchemaAwareStoreManager) { > > > > > > ((SchemaAwareStoreManager)storeManager).createSchema(classesToBePers > > > is > > > ted, > > > asProperties(props)); > > > } > > > } > > > > > > > > > > > > Jeremy D. Branham > > > Tel: **DOTNET > > > > > > > > > -----Original Message----- > > > From: Branham, Jeremy [HR] > > > Sent: Saturday, December 20, 2014 8:27 AM > > > To: [email protected] > > > Subject: How would I use neo4j with Apache Isis? > > > > > > I am attempting to use neo4j as a backing store for Apache Isis but > > > it looks like some development may be needed. > > > If I add the datanucleus-neo4j dependency, it appears the neo4j JDO > > > connection is initializing but Apache Isis is expecting a different > > > type of StoreManager. > > > > > > This is the exception I get > > > org.datanucleus.store.neo4j.Neo4jStoreManager cannot be cast to > > > org.datanucleus.store.schema.SchemaAwareStoreManager > > > > > > How can I use neo4j as a backing store in Apache Isis? > > > I read about nosql support in Isis, but is it not part of the > > > current > > > release?http://isis.apache.org/components/objectstores/nosql/about.h > > > tm > > > l > > > > > > Thanks! > > > > > > This question is also posted at - > > > > > > http://stackoverflow.com/questions/27579653/how-would-i-use-neo4j-wi > > > th > > > -apache-isis > > > > > > ________________________________ > > > > > > This e-mail may contain Sprint proprietary information intended for > > > the sole use of the recipient(s). Any use by others is prohibited. > > > If you are not the intended recipient, please contact the sender and > > > delete all copies of the message. > > > > > > ________________________________ > > > > > > This e-mail may contain Sprint proprietary information intended for > > > the sole use of the recipient(s). Any use by others is prohibited. > > > If you are not the intended recipient, please contact the sender and > > > delete all copies of the message. > > > > > > > ________________________________ > > > > This e-mail may contain Sprint proprietary information intended for > > the sole use of the recipient(s). Any use by others is prohibited. If > > you are not the intended recipient, please contact the sender and > > delete all copies of the message. > > > > ________________________________ > > This e-mail may contain Sprint proprietary information intended for the > sole use of the recipient(s). Any use by others is prohibited. If you are > not the intended recipient, please contact the sender and delete all copies > of the message. > > To read WesBank's Disclaimer for this email click on the following address > or copy into your Internet browser: > https://www.wesbank.co.za/wesbankcoza/about/legal/emaildisclaimer.xhtml > > If you are unable to access the Disclaimer, send a blank e-mail to > [email protected] and we will send you a copy of the > Disclaimer. > > ________________________________ > > This e-mail may contain Sprint proprietary information intended for the > sole use of the recipient(s). Any use by others is prohibited. If you are > not the intended recipient, please contact the sender and delete all copies > of the message. >
