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
2 answers

How to include edges in Gremlin while doing breadth first search?

In my gremlin query, I have the following: vert.as('x'). both.or( _().has("time").filter{ it.time.toInteger() > startTime.toInteger() }, _().has("isRead"), _().has("isWrite")).dedup().gather.scatter. store(y).loop('x'){c++ <…
Adam Miller
  • 1,756
  • 1
  • 25
  • 44
1
vote
1 answer

Bulk/Batch updating/inserting using bulbs and rexster?

I'm using python bulbs with Rexster and OrientDB. Is there a way to bulk/batch update/insert multiple vertices or edges at the same time?
Derek
  • 11,980
  • 26
  • 103
  • 162
1
vote
2 answers

Rexster create edge error with OrientDB

I'm using python bulbs with Rexster and OrientDB. I'm trying to create an edge, but I get this error: >> g.edges.create(g.V[0], "aoeu", g.V[1]) Traceback (most recent call last): File "", line 1, in File…
Derek
  • 11,980
  • 26
  • 103
  • 162
1
vote
2 answers

Blulbflow Neo4j Graph Database Slow

I am trying to create 500,000 nodes in a graph database. I plan to add edges as per my requirements later. I have a text file with 500,000 lines representing the data to be stored in each node. from bulbs.neo4jserver import Graph, Config,…
Pratik Poddar
  • 1,353
  • 3
  • 18
  • 36
1
vote
1 answer

Bulb Neo4j Update Error

I am passing a dictionary of the form {'twitterid':121212, 'followers':[121,212323,2323,1221]} to the function createVertex def createVertex(userDict): vertex = g.vertices.create(twitterid=userDict['twitterid']) …
Pratik Poddar
  • 1,353
  • 3
  • 18
  • 36
1
vote
1 answer

bulbs rexster system error

I am using Rexster 2.4.0 and Bulbs 0.3.14 With Rexster running on localhost, I am trying to get familiar with Bulbs, yet when trying: >>>from bulbs.rexster import Graph >>>g = Graph() Traceback (most recent call last): File "", line 1, in File…
kei
  • 13
  • 3
1
vote
1 answer

Gremlin / Bulbflow: how to get an integer result out of execute()

Sorry if this question is too stupid to ask... I am a newbie on Python+Django+Bulbs+Neo4j. I am attempting --without success-- to get an integer produced by g.gremlin.execute() while using Python+Django shell, as detailed below. First, the query in…
Og DeSouza
  • 103
  • 1
  • 7
1
vote
1 answer

Bulbs - Neo4J - Heroku Config Error?

I'm using bulbs to setup a Neo4J app on Heroku. Locally it runs fine, but when I deploy it on heroku, it raises the error part in the following code: #heroku config:get NEO4J_URL #http://user:password@instance.ip/ try: cfg =…
ComputerFellow
  • 11,710
  • 12
  • 50
  • 61
1
vote
1 answer

Bulb Flow: How to get a range of vertices?

I am trying to find out how is it possible to get a range of vertices from a graph, I am aware that this can be done in gremlin using gremlin> g.V.range(0,9) But how can this be done using bulb flow model api ?
Zakiullah Khan
  • 1,445
  • 2
  • 15
  • 26
1
vote
2 answers

cannot reproduce bulbs/py2neo in python to create edges (relationships)

I am trying to sequentially insert vertices and edges in neo4j using python. The existing nodes aren't recognised as such when I add edges. Whether I use py2neo or bulbs I got a similar error message. Note I am working…
user17375
  • 529
  • 4
  • 14
1
vote
1 answer

Bulbflow cant create a Dictionary property type

Im using bulbs to handle neo4j operations in python. The problem is when I try to create a node with a property containing a dictionary: g.mynode.create(title='Mi Node', fields={'name': 'testNode'}) I end up getting the following error: ***…
Rod0n
  • 1,019
  • 2
  • 14
  • 33
0
votes
1 answer

How to execute gremlin query with mogwai

Im trying to query a titan db 0.5.4 via mogwai, but when I run the following script i get the error: rexpro.exceptions.RexProScriptException: transaction is not open and I found the same question here P.S there is no tag for…
Zingo
  • 600
  • 6
  • 23
0
votes
1 answer

Bulbs - Index Lookup

I have a problem to find vertex by properties . In the documentation he cites : This will return all the vertices que have a "name " property with a value of " James" : g.vertices.index.lookup vertices = ( name = " James" ) . I created a model…
0
votes
1 answer

Loading data into Titan with bulbs and then accessing it

I am a complete novice in graph databases and all the Titan ecosystem, so please excuse me sounding stupid. I am also suffering from the lack of documentation -_- I've installed the titan server. I am using Cassandra as a back-end. I am trying to…
Denys
  • 4,287
  • 8
  • 50
  • 80
0
votes
1 answer

Choosing between py2neo and bulbs

I would like to continue the discussion started here to evaluate these drivers: bulbs or py2neo. Have there been any comparisons that helps one choose between the two? This page would be greatly improved with these kinds of comparisons.
NumenorForLife
  • 1,736
  • 8
  • 27
  • 55