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.
