Questions tagged [bulbs]

Open-source Python graph-database library that supports any TinkerPop/Blueprints graph DB via the Rexster graph server (almost all graph DBs). Has a native client for Neo4j Server and Titan. Supports the Gremlin and Cypher graph query languages. Easily extendable to support any server backend or query language.

Bulbs is an open-source Python library for graph databases. It supports any graph database that implements Blueprints (i.e. almost all graph databases plus some NoSQL datastores that aren't graph databases -- see the Blueprints page for a list).

Bulbs supports the Gremlin query language and Neo4j's Cypher query language, and it has built-in support for three graph-database servers: Rexster, Neo4j Server, and Titan.

You can easily extend Bulbs to support any backend server or any query language by simply implementing the client adapter.

James Thornton is the lead developer. You may know him as espeed on SO, HN, Twitter, etc.

James is a TinkerPop member and is managing and co-authoring the the writing of the TinkerPop Book, which will be a comprehensive guide showing you how to build powerful graph-based applications using the TinkerPop stack and its related open-source graph technologies.

See the TinkerPop Book website's Resources section for an updated collection of videos, books, blogs, and papers on graph programming.

Here are the key pages you need to get started with Bulbs:

See these Stack Overflow answers for additional detailed examples/explanations on how Bulbs is designed and how to create custom models:

NB: Some people refer to the library as Bulbflow, but this is imprecise. Bulbflow is the site, while Bulbs is the library.

81 questions
2
votes
2 answers

UnicodeEncodeError: bulbs and neo4j create Model

I'm getting Unicode errors while trying to add data to Neo4J via Bulbs when the data contains non-ascii data. the following code fails: from bulbs.model import Node from bulbs.property import String from bulbs.neo4jserver import Graph class…
SunPowered
  • 706
  • 4
  • 17
2
votes
0 answers

Gremlin / Bulbflow: How to select nodes based on their edges and related vertice's properties

Sorry for the long post, but I want to avoid any misunderstanding about what I'm looking for :) I am currently discovering graph databases, and experimenting a bit with bulbflow/neo4j. Thus, I am trying to use gremlin for most of my requests, but I…
Joachim
  • 21
  • 2
2
votes
1 answer

Key index on Bulbs / Gremlin / Titan

I'm trying to port my Neo4J application to Titan and I'm having some issues related to indexes. I understand that Titan does not support vertex or edge indexes, only "key" indexes, is it right? I'm also working with Bulbs models, for example: class…
renatogp
  • 75
  • 7
1
vote
1 answer

Python, bulbs, resxter . Getting bool scalar returned by gremlin script from bulbs

I am writing python scripts to extract data from multiple sources and put it in a graph in a certain structure. I am using bulbs models for all the data. I have models for all relevant node types and relationships. My edge models have not additional…
Jinal Kothari
  • 117
  • 1
  • 1
  • 11
1
vote
0 answers

how to add a graph to rexster sever (titan/cassamdra backend) and how to add a edges and verices to graph with python client?

I have a rexster server 2.3.0 and titan-cassandra 0.3.0 .and one graph is configured with name of empgraph in rexster.xml file . How to add edges and vertices's to that empgraph with titan client? All are installed in local host only .
ram
  • 73
  • 1
  • 7
1
vote
1 answer

How to get multiple vertices/edges in a single gremlin query?

I am in a situation where I need to get two different types of vertices using a single query. For example, assume that the graph has the following structure…
Kevin
  • 6,539
  • 5
  • 44
  • 54
1
vote
1 answer

Gremlin querying through groovy script using bulbs

I'm trying to figure out a better way of querying titan with gremlin through the python library bulbs. I have a simple tree n0 / \ / \ n1 n2 / \ \ n3 n4 n5 and I want to get n4 and the edges: e[n0 -> n1]…
Jeff
  • 6,932
  • 7
  • 42
  • 72
1
vote
0 answers

neo4j 2.1.5 with bulbs

How can I connect bulbs with neo4j 2.1.5. I have followed the following steps but it doesnt help. Downloaded and unzipped neo4j 2.1.5. Downloaded and unzipped neo4j gremlin plugin 2.1.5. Copied all the jars from gremlin plugin to…
user1542790
  • 79
  • 2
  • 10
1
vote
1 answer

How are Python Dictionaries indexed in neo4j

Bulbflow provides a property class Dictionary to store dictionaries in a neo4j database. How are these indexed? Can I query it for values in the dictionary?
Denny_Crane
  • 106
  • 5
1
vote
0 answers

Bulbflow Neo4j Index Lookup Error - Multiple results on lookup with unique key

A node with record class is stored with a unique record_id. The class definition for a record is this: class BaseRecord(Node): element_type = "baserecord" rec_id = Integer(nullable=False,unique=True) name =…
Denny_Crane
  • 106
  • 5
1
vote
1 answer

How to make a selective fulltext index for neo4j in bulbs framework for Python?

James Thronton provides an excellent example of how to configure bulbs to use a fulltext index as default index for all neo4j fileds here: https://gist.github.com/espeed/3025438 However, is there a way of manually managing fulltext indexes so that…
chiffa
  • 2,026
  • 3
  • 26
  • 41
1
vote
1 answer

How to create a graph database in TinkerPop/Rextser using the Rexster Docker image and Bulbs?

How do I create a new database? I am using the Rexster Docker image from "https://github.com/konrade/docker-rexster" to get a functional Rexster server up and running. It is run using the following command: sudo docker.io run -i -t -P 6cced29c46a3…
1
vote
1 answer

Bulbs python Connection to a remote TitanDB + Rexster

I'm using TitanGraphDB + Cassandra. I'm starting Titan as follows cd titan-cassandra-0.3.1 bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties I have a Rexster shell that I can use to communicate to Titan +…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
2 answers

How to create and start working with a graph database in Titan/Rexster from Bulbs

I've downloaded titan-server-0.4.4.zip and unzipped it and ran : $ bin/titan.sh start This started both Cassandra and Titan + Rexster. Now, I want to create a new graph for my application (say 'ggg') that I want to create from Bulbs in my Python…
Kevin
  • 6,539
  • 5
  • 44
  • 54
1
vote
2 answers

Rexster query returns "No such property: v for class: com.thinkaurelius.titan.graphdb.database.StandardTitanGraph"

I'm using TitanGraphDB + Cassandra. I'm starting Titan as follows cd titan-cassandra-0.3.1 bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties I have a Rexster shell that I can use to communicate to Titan +…
liv2hak
  • 14,472
  • 53
  • 157
  • 270