Neo4j: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Rotbot (discussione | contributi)
m Bot: -Sito ufficiale +T:Collegamenti esterni
LauBot (discussione | contributi)
m Bot: passaggio degli url da HTTP a HTTPS
Riga 12:
 
==Descrizione==
Il database può essere usato sia in modalità embedded che server. Nella modalità embedded si incorpora il database nell'applicazione (con [[Apache Maven|maven]] o includendo i file [[JAR (formato di file)|JAR]]) e questo viene eseguito all'interno della [[macchina virtuale Java|JVM]], quindi nello stesso processo ma accettando vari thread concorrenti. Nella modalità server invece il database è un processo a sé stante a cui si accede tramite [[REST]] facendo delle query e ricevendo i dati in remoto; il server permette l'utilizzo di plugin che filtrano i dati in input e output e offrono servizi aggiuntivi, per esempio il supporto alle [[Geographic information system|query spaziali]]<ref>[httphttps://github.com/neo4j/spatial Neo4j spatial]</ref>.
Neo4j permette la modalità batch, non concorrente, per l'importazione massiva di dati da altri database o da file, ma per l'uso comune si basa sulle transazioni. Una volta aperta una transazione è possibile creare nodi e assegnarvi delle proprietà, ossia dei valori corrispondenti ai [[Tipo di dato|tipi di dato]] elementari di Java (più le String e gli array) e identificati grazie a un nome. Inoltre è possibile unire dei nodi tramite le [[Relazione (matematica)|relazioni]], i cui tipi sono definiti dal programmatore, che possono essere direzionali o meno. Anche le relazioni possono avere delle proprietà come i nodi.
Il grafo è quindi schema-less, il che da un lato permette di definire dati molto eterogenei con il minimo sforzo e dall'altro può creare problemi di consistenza dei dati, che è interamente responsabilità dell'applicazione