TinkerPop 2.3.0 has been unleashed by Marko A. Rodriguez.
Release notes for:
Gephi Blueprints plugin by David Suvee.
From the homepage:
The Gephi Blueprints plugin allows a user to import graph-data from any graph database that implements the Tinkerpop Blueprints generic graph API. Out of the box, the plugin provides support for TinkerGraph, Neo4j, OrientDB, Dex and RexterGraph. Additionally, it also provides support for the FluxGraph temporal graph database.
Not to mention having a short list of interesting graph software to boot!
A message from Marko Rodriguez announced the release of TinkerPop2 with notes on the major features of each:
- Massive changes to blueprints-core API
- TreePipe added for exposing the spanning tree of a traversal
- Automatic path and query optimizations
- https://github.com/tinkerpop/gremlin/downloads (download)
- FramedGraph is simply a wrapper graph in the Blueprints sense
- Synchronicity with the Blueprints API
- https://github.com/tinkerpop/rexster/downloads (download)
BTW, Marko says:
As you may know, there are big changes to the API: package renaming, new core API method names, etc. While this may be shocking, it is all worth it. In 2 weeks, there is going to be a release of something very big for which TinkerPop2 will be a central piece of the puzzle. Stay tuned and get ready for a summer of insane, crazy graph madness.
So, something to look forward to!
From the post:
In a time long, long right now and a place far, far within, there exists a little green gremlin named…well, Gremlin. Gremlin lives in a place known as TinkerPop. For those who think of a “place” as some terrestrial surface coating a sphere that is circling one of the many massive fiery nuclear reactors in the known universe, TinkerPop is that, yet at the same time, a wholly different type of place indeed.
In a day of obscure (are there any other kind?) errors and annoyances, this is an absolute delight!
New homepage design: http://tinkerpop.com
Blueprints 1.1 (Blueberry):
Gremlin 1.4 (Ain’t No Thing But a Chicken Wing):
You didn’t really want to spend all weekend holiday shopping and hanging out with relatives did you?
An Introduction to Tinkerpop by Takahiro Inoue.
Excellent introduction to the Tinkerpop stack.
Marko Rodriguez posted the following note to the Grelim-users mailing list today:
For many months, the TinkerPop community has been trying to realize the best way to go about providing a graph analysis package to the TinkerPop stack ( http://bit.ly/qCMlcP ). With the increased flexibility and power of Pipes and the partitioning of Gremlin into multiple JVM languages, we feel that the stack is organized correctly now to support Furnace — A Property Graph Algorithms Package.
The project is currently just stubbed, but overtime you can expect the ability to evaluate standard (and non-standard) graph analysis algorithms over Blueprints-enabled graphs in a way that respects explicit and implicit associations in the graph. In short, it will implement the ideas articulated in:
This will be possible due to Pipes and the ability to represent abstract relationships using Pipes, Gremlin_groovy (and the upcoming Gremlin_scala). Moreover, while more thought is needed, there will be a way to talk at the Frames-levels (http://frames.tinkerpop.com) and thus, calculate graph algorithms according to one’s domain model. Ultimately, in time, as Furnace develops, we will see a Rexster-Kibble that supports the evaluation of algorithms via Rexster.
While the project is still developing, please feel free to contribute ideas and/or participate in the development process. To conclude, we hope people are excited about the promises that Furnace will bring by raising the processing abstraction level above the imperative representations of Pipes/Gremlin.
You have been waiting for the opportunity to contribute to the Tinkerpop stack, particularly on graph analysis, so here is your chance! Seriously, you need to forward this to every graph person, graph project and graduate student taking graph theory.
We can use simple graphs and hope (pray?) the world is a simple place. Or use more complex graphs to model the world. Do you feel lucky? Do you?
Marko Rodriguez announced a new round of Tinkerpop Stack Releases today:
The TinkerPop stack went through another round of releases this morning.
- Blueprints 1.0 (Blueprints): = https://github.com/tinkerpop/blueprints/wiki/Release-Notes
- Pipes 0.8 (Cleaner): = https://github.com/tinkerpop/pipes/wiki/Release-Notes
- Frames 0.5 (Beams): = https://github.com/tinkerpop/frames/wiki/Release-Notes
- Gremlin 1.3 (On the Case): = https://github.com/tinkerpop/gremlin/wiki/Release-Notes
- Rexster 0.6 (Dalmatian): = https://github.com/tinkerpop/rexster/wiki/Release-Notes
- Rexster-Kibbles 0.6 = http://rexster-kibbles.tinkerpop.com
For those using Gremlin, Pipes, and Rexster, be sure to look through the release notes as APIs have changed slightly. Here are the main points of this release:
- Blueprints now has transaction buffers and Neo4jBatchGraph for bulk loading a Neo4j graph.
- Pipes makes use of FluentPipeline and PipeFunction which yields great expressivity and further opens up the framework to other JVM languages.
- Gremlin is ~2.5x faster in many situations and has relegated most of its functionality to Pipes and native Java.
- Rexster supports Neo4j High Availability and more updates to its REST API.
Good news from Marko Rodriguez:
TinkerPop just released a new round of stable releases.
Blueprints 0.9 (Mavin) – https://github.com/tinkerpop/blueprints/wiki/Release-Notes
Pipes 0.7 (PVC) – https://github.com/tinkerpop/pipes/wiki/Release-Notes
Frames 0.4 (Studs) – https://github.com/tinkerpop/frames/wiki/Release-Notes
Gremlin 1.2 (New Sheriff in Town) – https://github.com/tinkerpop/gremlin/wiki/Release-Notes
Rexster 0.5 (Dog Star) – https://github.com/tinkerpop/rexster/wiki/Release-Notes
Here is the main points with each release:
From the Overview:
Bulbs is an open-source Python persistence framework for graph databases and the first piece of a larger Web-development toolkit that will be released in the upcoming weeks.
It’s like an ORM for graphs, but instead of SQL, you use the graph-traveral language Gremlin to query the database.
This means your code is portable because you can to plug into different graph database backends without worrying about vendor lock in.
Bulbs was developed in the process of building Whybase, a startup that will open for preview this fall. Whybase needed a persistence layer to model its complex relationships, and Bulbs is an open-source version of that framework.
Will be watching for future developments!
From the webpage:
This is a special edition of OrientDB with these TinkerPop technologies in bundle:
- Blueprints provides a collection of interfaces and implementations to common, complex data structures. In short, Blueprints provides a one stop shop for implemented interfaces to help developers create software without being tied to particular underlying data management systems.
- Gremlin is a Turing-complete, graph-based programming language designed for key/value-pair multi-relational graphs. Gremlin makes use of an XPath-like syntax to support complex graph traversals. This language has application in the areas of graph query, analysis, and manipulation.
- Pipes is a graph-based data flow framework for Java 1.6+. A process graph is composed of a set of process vertices connected to one another by a set of communication edges. Pipes supports the splitting, merging, and transformation of data from input to output.
The graph community just keeps getting stronger.
Instructions on creating a local copy of the Gremlin wiki (posted to the firstname.lastname@example.org mailing list by Pierre De Wilde).
The instructions (with minor formatting changes) from his post:
For those who want a local copy of Gremlin wiki:
git clone https://github.com/tinkerpop/gremlin.wiki.git
Open your browser at http://localhost:4567 and ta-da…
Moreover, the wiki is searchable and (unlike the github version) it’s printer-fiendly.
Gollum is a simple wiki system built on top of Git that powers GitHub Wikis.
To install Gollum, use RubyGems (http://rubygems.org/):
[sudo] gem install gollumcd cd
Of course, the same procedure may be applied for other Tinkerpop repositories (blueprints, pipes, frames, rexster, rexster-kibbles).
Unfortunately, gollum cannot access multiple repositories at once, so you will need to launch several versions with a different port (gollum -port xxxx)
From the webpage:
Following the set of interfaces provided by tinkerpop for Blueprints, this proyect aims to give Python developers a similar functionality. A set of abstract classes are defined in order to guide the design of implementations for the different graph database engines.
If you are not already familiar with BluePrints, a common API for graph databases, you might want to start at TinkerPop. Or you can jump directly to BluePrints if you are checking a detail or what to help with the code.
From the Blueprints webpage:
Blueprints is a property graph model interface. It provides implementations, test suites, and supporting extensions. Graph databases and frameworks that implement the Blueprints interfaces automatically support Blueprints-enabled applications. Likewise, Blueprints-enabled applications can plug-and-play different Blueprints-enabled graph backends.
Marko Rodriguez announced the release of Gremlin 1.0 and Rexster 0.3 (graph server) along with other releases:
Blueprints 0.7 (Patrick):
A property graph interface.
Frames 0.2 (Huff and Puff):
An object to graph framework.
Gremlin 1.0 (Gremlin):
A graph traversal language.
Pipes 0.5 (Drain):
A data flow framework using process graphs.
Rexster 0.3 (Dog Eat Dog):
A RESTful graph shell.
Slides from Marko Rodriguez presented at: The 2nd International Workshop on Graph Data Management (GDM’11) Hannover, Germany April 16, 2011.
State of Gremlin 0.9.
Very good introduction to Gremlin.
Anyone interested in graph editing really needs to watch this series of posts on the gremlin-users list.
Joshua Shinavier started the thread with a post that read in part:
I would like to draw attention to a new utility for Blueprints which was motivated as follows. Lately, I have been faced with the problem of trying to synchronize graph-y data between a mobile phone and a desktop application. This is hard not only because the data model I had in mind, RDF, is complicated, but also by some basic requirements (on top of just getting the data to look the same on both devices):
1) it should be possible to load only a portion of the data on the phone, and to push and pull changes to that portion without corrupting the overall graph
2) it should be easy to revert changes, and it would be nice to be able to branch
3) collaborators should be able to contribute changes to the graph, as well
This morning, it occurred to me that we could have these features in Blueprints if we just serialize graphs in a way which plays well with Git. I then spent all day coding, and the result is GitGraph, a persistent Graph implementation (currently layered on top of TinkerGraph) which stores its data in a hierarchy of canonically
ordered, diff-friendly plain text files. You can check a GitGraph directory into GitHub, fork, edit and merge it just as you would a piece of software. Also cool:
1) you can load subdirectories of a GitGraph as standalone graphs, and edit them independently of the rest of the graph
2) placing two or more GitGraphs in the same directory creates a super-GitGraph which you can load as one graph. You can then create edges which span the two graphs and create new top-level vertices. You can go back to a view of the individual graphs at any time.
3) no additional API, apart from the GitGraph constructor
Not hard to see why that provoked a wave of enthusiastic posts.
Claudio Martella walks through loading DBpedia into a graphDB.
DISCLAIMER: this is a bit of a hack, but it should get you started. I managed to get the core dataset of DBpedia into Neo4J, but this procedure should actually be working for any Blueprints-ready vendor, like OrientDB.
Ok, a little background first: we want to store DBpedia inside of a GraphDB, instead of the typical TripleStore, and run SPARQL queries over it. DBpedia is a project aiming to extract structured content from Wikipedia, information such as the one you can find in the infoboxes, the links, the categorization infos, geo-coordinates etc. This information is extracted and exported as triples to form a graph, a network of properties and relationships between Wikipedia resources.
Noting that graph queries are more efficient than when against a triple store.
From the release notes:
Blueprints 0.6 Oscar: https://github.com/tinkerpop/blueprints/wiki/Release-Notes
Pipes 0.4 Spigot: https://github.com/tinkerpop/pipes/wiki/Release-Notes
Frames 0.1 Brick-by-Brick: https://github.com/tinkerpop/frames/wiki/Release-Notes
Gremlin 0.9 Gremlin the Grouch: https://github.com/tinkerpop/gremlin/wiki/Release-Notes
From the update announcement on 1 March 2011.
Today we bring you a new round of releases. TinkerPop is pleased to announce:
Blueprints 0.5 (Scooby) – https://github.com/tinkerpop/blueprints/wiki/Release-Notes
Pipes 0.3.1 (Mario) – https://github.com/tinkerpop/pipes/wiki/Release-Notes
Gremlin 0.8 (Grem Stefani) – https://github.com/tinkerpop/gremlin/wiki/Release-Notes
Rexster 0.2 (Dog House) – https://github.com/tinkerpop/rexster/wiki/Release-Notes
The graph database work and associated materials is looking more and more attractive.
Look for something specific about applying them to topic maps in the near term.