2013-03-20 15 views
11

Sono nuovo sia per Scala che per Neo4j. Voglio creare un database Neo4j usando Scala. C'è qualche risorsa in cui posso trovare un codice pronto per la creazione di nodi, l'eliminazione di nodi, l'aggiunta di proprietà, la creazione di indici, ecc.Uso di neo4j con scala

Grazie.

+0

Alcuni contenuti da http://neo4j.org/develop/scala –

risposta

10

In realtà ci sono diverse opzioni da cui dipende (a) come si desidera comunicare con Neo4j (Resto o no) (b) proprio ambiente di runtime.

Quando la vostra applicazione è ok con una comunicazione REST solo e siete pronti ad usare ANORM per accedere ai vostri (dati). C'è un driver promettente che è attualmente abbastanza buono per fare un sacco di cose usando Cypher come lingua richiesta. Puoi trovarlo lì (AnormCypher): https://github.com/AnormCypher/AnormCypher. Il potere di ANORM è fonte di molti dibattiti, ma penso che abbia molte funzioni interessanti.

C'è anche il driver FaKod scala che è molto completo, e la seconda versione (M1 per ora) includerà anche le funzionalità REST. La potenza di questo driver (neo4j-scala) è il DSL pulito che fornisce agli interni di attraversamenti astratti, è piuttosto intuitivo e ben documentato.

D'altra parte, avevo avviato il mio driver un po ', ma non ho avuto il tempo di dedicarmi molto (cambierà presto). La versione attuale è ancora approssimativa e strettamente accoppiata a un'applicazione di gioco. Ma questo pilota cerca di utilizzare la reattività del futuro (ora basata su Akka) e l'aps jones del gioco. Tuttavia, questo modo non deve essere il più produttivo a causa della mancanza di doc e pulizia ... qualsiasi aiuto è benvenuto ;-). Anche questo è un plug-in di gioco, quindi è abbastanza facile da configurare e da iniettare.

Per ulteriori informazioni in materia di driver generale, si dovrebbe andare lì:http://www.neo4j.org/develop/drivers

5

si potrebbe desiderare di avere uno sguardo a gremlin-scala. Usa lo stack Tinkerpop che è essenzialmente come JDBC per i database relazionali. Puoi usarlo con un numero di database grafici incluso Neo4J. Ci sono alcuni esempi di base sulla pagina di github e molto altro nello gremlin wiki.

Diniego: Sono il manutentore di gremlin-Scala;)

+0

Roba buona! Un driver per dominarli tutti. Mi piace molto lo stack Tinkerpop, davvero. –

0

Dai un'occhiata alla renesca, che consente di utilizzare l'API REST Neo4j da Scala. È possibile creare e modificare nodi e relazioni e mantenere tutte le modifiche contemporaneamente.

Per scenari più avanzati, consultare renesca-magic, che è un livello di astrazione su renesca. Ti consente di definire potenti schemi di tipo sicuro con il codice con il minor numero possibile di codice.

Alcuni punti salienti sono:

  • multipla ereditarietà delle proprietà
  • HyperRelations (collegare i nodi e relazioni)

Disclaimer: io sono uno sviluppatore di queste librerie.