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
1
vote
1 answer

Getting pairs from Titan Graph Node

I am using TitanGraphDB + Cassandra.I am 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…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

Calling a gremlin script from python program that uses Bulbs

I am using TitanGraphDB + Cassandra.I am 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…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

edges.create() function causes duplication if called multiple times

I am using TitanGraphDB + Cassandra.I am 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…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

actions=[[type=ACTION_OUTPUT action=[port=1 maxLen=0]];], as keywords to get_or_create in Bulbs

I am using TitanGraphDB + Cassandra.I am 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…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

Python - Bulbs - Models - Class initialization

I'm learning how to use Bulbs models, I have questions on Node classes initialization. From the documentation: from bulbs.model import Node, Relationship from bulbs.property import String, Integer, DateTime from bulbs.utils import…
Hrabal
  • 2,403
  • 2
  • 20
  • 30
1
vote
1 answer

Bulbs: g.vertices.index.lookup(dpi=dpid_str) not working as expected

I am using TitanGraphDB + Cassandra.I am 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…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

Bulbs : Creating "in" and "out" edges between two vertices in TitanDB

I am using TitanGraphDB + Cassandra.I am 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…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

Bulbs: Creating a vertex only when not already present

I am using bulbs to create vertices.I have written 3 functions given below to do the same.Just to help you understand the properties of the vertices I am listing below the output of the debug lines in each of the functions. DEBUG LINE: …
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

Labels,vertices and edges TitanDB

I have the following information in a Titan Graph database.I am trying to make sense of the information by sending queries across gremlin shell.The Graph database that I am trying to investigate models a Network.There are two types of vertices …
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

Testing Vertices creation from Groovy commandline in Rexster

I have Titan (with embedded cassandra running on my system). cd titan-cassandra-0.3.1 bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties I have rexster server running cd…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

Not able to use bulbs to program Titan GraphDB/Rexster

I have Titan (with embedded cassandra running on my system). cd titan-cassandra-0.3.1 bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties I have rexster server running cd…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

pip install /tmp/pip-c436mD-unpack/master the member espeed-bulbs-71d0cce/docs/social is invalid:

I am trying to instally bulbs on my Ubuntu 12.04.I have installed the following packages. sudo apt-get install python2.7-dev sudo apt-get install libyaml-dev I have installed sudo pip install https://github.com/espeed/bulbs/tarball/master The…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

Installing Bulbs on Ubuntu 12.04

I am trying to install bulbs on my system (Ubuntu 12.04). I came across this link. (http://bulbflow.com/download/#get-bulbs) I am not using a Flask or any other virtual environment. I just want to install bulbs straight on my PC. Is a: $ pip…
liv2hak
  • 14,472
  • 53
  • 157
  • 270
1
vote
1 answer

python bulbs - Are edge inV() and outV() remote lookup calls?

I found out the hard way that if you design your import function in python to use a single transaction for each node it will be incredibly slow. I have millions of nodes, and they have to be processed in the fastest way possible. Currently, I have…
Adam Miller
  • 1,756
  • 1
  • 25
  • 44
1
vote
1 answer

Rexster + Bulbs: Unicode node property - node created but not found

I am using bulbs and rexster and am trying to store nodes with unicode properties (see example below). Apparently, creating nodes in the graph works properly as I can see the nodes in the web interface that comes with rexster (Rexster Dog House) but…
user2042696