A Neo4j egy java-ban írt és java programokhoz használható beágyazott adatbázis-motor, mely attól speciális, hogy a legtöbb adatbázistól eltérően nem a relációs adatmodellt követi, hanem hálózat-alapú, tehát objektumhálót tárol. Ez azért nagyon jó elvileg, mert így az ember megspórolhat egy komplex ORM frameworköt az alkalmazásából (mint pl. Hibernate), mivel így a futásidejű (tranziens) és a perzisztens adatreprezentáció nem tér el egymástól gyökeresen. A Neo4j teljesen tranzakció-alapú, tehát csak egy tranzakción belül végezhetünk műveleteket az objektumhálónkon. Ez a háló egy irányított gráf, melyben minden csomóponthoz és kapcsolathoz tulajdonságokat (kulcs-érték párokat) rendelhetünk. A csomópont és a kapcsolat osztályok a Neo4j API részét képezik, tehát magát az entitásaink között kialakult hálót nem menthetjük el a Neo4j adatbázisunkba, hanem le kell képeznünk az API által nyújtott háló-szerkezetre, ezt azonban könnyen megtehetjük a DAO-rétegben.
A Neo4j egyébként sajnos csak ingyenes termékek fejlesztéséhez ingyenes, és egy gyors guglizás során nem is találtam semmilyen alternatívát, pedig hatékony eszköznek tűnik. Persze így egy egyszerű pilot után még nem mernék komoly fejlesztést a Neo4j-re alapozni... :)
A Neo4j egyébként sajnos csak ingyenes termékek fejlesztéséhez ingyenes, és egy gyors guglizás során nem is találtam semmilyen alternatívát, pedig hatékony eszköznek tűnik. Persze így egy egyszerű pilot után még nem mernék komoly fejlesztést a Neo4j-re alapozni... :)

