Questions tagged [graph-databases]

A graph database uses graph structures with nodes, edges, and properties to represent and store information.

A graph database stores nodes and relationships instead of tables, or documents. Data is stored just like you might sketch ideas on a whiteboard. Your data is stored without restricting it to a pre-defined model, allowing a very flexible way of thinking about and using it.

Popular graph database providers

Books

Articles

2926 questions
7
votes
2 answers

How to store images into Neo4j

I came across a scenario i.e, Each and every node is to represent with an image . so i have to store image into neo4j. please healp me out with your views on it.
Pavan Kumar Varma
  • 1,413
  • 1
  • 14
  • 22
7
votes
1 answer

OrientDB, how to retrieve previous record version

I'm researching OrientDB in order to evaluate versioning capabilities of graph databases. Each record in OrientDB has a @version property which increases every time a record is updated. This indicates support for versioning. I've set up a simple…
raisyn
  • 4,514
  • 9
  • 36
  • 55
7
votes
1 answer

Do having multiple labels for a node in Neo4j make any sense?

Following this post from Neo4j's google group I have to say that I don't see any benefits when using this multiple-label-thing but rather, on the contrary, IMHO it just adds complexity for what a uniqueness constraint is. It could also tempt the…
ppareja
  • 730
  • 1
  • 5
  • 16
7
votes
1 answer

Iterating through a collection with MATCH and CREATE clauses

I want to do something like this in cypher: MATCH (n:node) WHERE n.ID = x //x is an integer value FOREACH (num in n.IDs: MATCH (p:node) WHERE p.ID = num CREATE (n)-[:LINK]->(p) ) where num is an array of integer values referring to…
drew moore
  • 31,565
  • 17
  • 75
  • 112
7
votes
2 answers

How would you implement a revision control system for your models in your prefered db paradigm?

I found out that RCS for models is an interesting problem to solve in the context of data persistence. They are several solution using the django ORM to achieve this django-reversion and AuditTrail each of which propose their own way to do it. Here…
7
votes
3 answers

Neo4j instead of relational database

I am implementing a sinatra/rails based web portal that might eventually have few many:many relationships between tables/models. This is a one man team and part time but real world app. I discussed my entity with someone and was advised to try…
codeObserver
  • 6,521
  • 16
  • 76
  • 121
7
votes
3 answers

Django: prefetch_related results ordered by a field of an intermediary table

How can I prefetch_related objects in Django and order them by a field in an intermediary table? Here's the models I'm working with: class Node(models.Model): name = models.CharField(max_length=255) edges = models.ManyToManyField('self',…
Ollie Glass
  • 19,455
  • 21
  • 76
  • 107
7
votes
2 answers

Discovering node properties in neo4j grap db

I'm discovering a new graph data model in Neo4j and I was wondering how to list all the possible node properties but not their value if possible. For the relations, I found this very handy generic cypher query : start n=node(*) match n-[r]-m return…
7
votes
2 answers

Using both graph db and document db

I'm considering a setup where I have entities stored both in a document db (e.g. CouchDB) and a graph db (e.g. Neo4j). The rationale is storing each entity information (data, blobs, values, complex internal structure) in the document db while…
Ran Biron
  • 6,317
  • 5
  • 37
  • 67
7
votes
1 answer

Preserving nodes and relationships history in a graph database

I am trying to implement a solution using Graph DB with nodes and relationships. There is a requirement where a user may want to run the reports (queries) on the historical data for a node, or check out the historical relationships. Does Graph DBs…
zzyzx
  • 129
  • 2
  • 6
6
votes
1 answer

Which graph database

Which graph database should I use when dealing with a couple of thousand nodes and a couple of thousands relationships? Are these big numbers for any database or not? Which graph database is the fastest at read operations (assuming all data is…
user579674
  • 2,159
  • 6
  • 30
  • 40
6
votes
1 answer

OrientDB: Find all vertices that have no direct neighbour vertex of a given class

Using OrientDB's query language, how can find all vertices in cluster a that have no outgoing edge ending in a vertex of class b (i.e. no direct neighbour vertex of class b)? It does not matter if they have other outgoing edges.
Thilo
  • 257,207
  • 101
  • 511
  • 656
6
votes
4 answers

Can I find all vertices that have no connected edges in OrientDB?

Is there an easy way to query a cluster for all vertices that have no incoming edges?
Thilo
  • 257,207
  • 101
  • 511
  • 656
6
votes
1 answer

Generic traversal of a directed tree with Neo4J

I modelled a directed tree structure using the graph database Neo4J. So I have something like this: http://ouwarovite.net/YAPC/220px-Binary_tree.svg.png (not mandatory binary) Users of my database can add child nodes of existing nodes at will, so…
6
votes
1 answer

When to use graph databases, ontologies, and knowledge graphs

I've been struggling to understand when these technologies are useful from a practical standpoint, and how they are different from each other. Could an expert check my understanding? Graph databases: These are easier to understand and manage than a…
Shade
  • 71
  • 4