Archive for the ‘Blueprints’ Category

TinkerPop 2.3.0 has been unleashed

Thursday, March 21st, 2013

TinkerPop 2.3.0 has been unleashed by Marko A. Rodriguez.

Release notes for:

Blueprints

Pipes

Gremlin

Frames

Rexster

Enjoy!

Gephi Blueprints plugin

Wednesday, November 7th, 2012

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.

Excellent!

Not to mention having a short list of interesting graph software to boot!

TinkerPop2 Release

Thursday, May 24th, 2012

A message from Marko Rodriguez announced the release of TinkerPop2 with notes on the major features of each:

Blueprints: https://github.com/tinkerpop/blueprints/wiki/Release-Notes
- Massive changes to blueprints-core API
Pipes: https://github.com/tinkerpop/pipes/wiki/Release-Notes
- TreePipe added for exposing the spanning tree of a traversal
Gremlin: https://github.com/tinkerpop/gremlin/wiki/Release-Notes
- Automatic path and query optimizations
- https://github.com/tinkerpop/gremlin/downloads (download)
Frames: https://github.com/tinkerpop/frames/wiki/Release-Notes
- FramedGraph is simply a wrapper graph in the Blueprints sense
Rexster: https://github.com/tinkerpop/rexster/wiki/Release-Notes
- 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!

A TinkerPop Story

Wednesday, December 14th, 2011

A TinkerPop Story

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!

Highly recommended!

TinkerPop 2011 Winter release!

Friday, December 9th, 2011

TinkerPop 2011 Winter release!

Which includes:

New homepage design: http://tinkerpop.com

Blueprints 1.1 (Blueberry):
https://github.com/tinkerpop/blueprints/wiki/Release-Notes

Frames 0.6 (Truss):
https://github.com/tinkerpop/frames/wiki/Release-Notes

Gremlin 1.4 (Ain’t No Thing But a Chicken Wing):
https://github.com/tinkerpop/gremlin/wiki/Release-Notes

Pipes 0.9 (Sink):
https://github.com/tinkerpop/pipes/wiki/Release-Notes

Rexster 0.7 (Brian)
https://github.com/tinkerpop/rexster/wiki/Release-Notes

Rexster-Kibbles 0.7
http://rexster-kibbles.tinkerpop.com

You didn’t really want to spend all weekend holiday shopping and hanging out with relatives did you? ;-)

An Introduction to Tinkerpop

Saturday, October 8th, 2011

An Introduction to Tinkerpop by Takahiro Inoue.

Excellent introduction to the Tinkerpop stack.

Furnace — A Property Graph Algorithms Package

Sunday, September 25th, 2011

Furnace — A Property Graph Algorithms Package

Marko Rodriguez posted the following note to the Grelim-users mailing list today:

Hello,

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.

http://furnace.tinkerpop.com
( https://github.com/tinkerpop/furnace/wiki if the domain hasn’t propagated to your DNS yet )

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:

http://markorodriguez.com/2011/02/08/property-graph-algorithms/
http://arxiv.org/abs/0806.2274

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.

Thank you,
Marko.

http://markorodriguez.com

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?

Tinkerpop Stack Releases

Sunday, September 18th, 2011

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.

TinkerPop – New Releases

Monday, August 1st, 2011

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:

  • Blueprints:
    • Vertex API changed so now you have Vertex.getInEdges(String… labels) and Vertex.getOutEdges(String… labels)
    • Heavy development on GraphSail which turns any IndexableGraph into Sail RDF store
  • Pipes:
    • Introduced PipeClosure pattern which allows for closure-based pipes in native Java
    • Migrated all “Gremlin-specific pipes” (closure-based) to Pipes
    • Opening up the stage for data flow traversal languages for any JVM language
  • Frames:
    • Added helper interfaces VertexFrame and EdgeFrame
  • Gremlin:
    • Support the easy definition of new steps with
      Gremlin.defineStep()
    • Mass migration of all “Gremlin-specific pipes” to Pipes
    • Support for processing closures in aggregate, groupCount, and paths
  • Rexster:
    • Added RexPro (the future foundation for the Rexster’s multi-protocol infrastructure).
    • Added rexster-console.sh (RexsterConsole) to allow remote “mysql>”-style interactions via any JSR 223-based JVM language
    • JSON serialization inherited from Blueprints (consistent throughout TinkerPop stack)

bulbflow

Saturday, July 16th, 2011

bulbflow: a Python framework for the graph era

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.

You can use it to connect to any Blueprints-enabled
database, including TinkeGraph, Neo4j, OrientDB, Dex, and OpenRDF (and there is an InfiniteGraph implementation in development).

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.

You can use Bulbs from within any Python Web-development framework, including Flask, Pyramid, and Django.

Will be watching for future developments!

OrientDB 1.0rc3 – Graph(Ed)

Friday, July 15th, 2011

OrientDB 1.0rc3 – Graph(Ed)

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.

Cloning Tinkerpop Repositories

Friday, July 1st, 2011

Instructions on creating a local copy of the Gremlin wiki (posted to the gremlin-users@googlegroups.com 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:

cd gremlin
git clone https://github.com/tinkerpop/gremlin.wiki.git
  doc/wiki
cd doc/wiki
gollum

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.

https://github.com/github/gollum

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)

Thanks Pierre!

pyblueprints 0.1

Thursday, June 30th, 2011

pyblueprints 0.1

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.

TinkerPop Releases – Gremlin 1.0/Rexster 0.3

Monday, May 9th, 2011

Marko Rodriguez announced the release of Gremlin 1.0 and Rexster 0.3 (graph server) along with other releases:

Blueprints 0.7 (Patrick):
https://github.com/tinkerpop/blueprints/wiki/Release-Notes
A property graph interface.

Frames 0.2 (Huff and Puff):
https://github.com/tinkerpop/frames/wiki/Release-Notes
An object to graph framework.

Gremlin 1.0 (Gremlin):
https://github.com/tinkerpop/gremlin/wiki/Release-Notes
A graph traversal language.

Pipes 0.5 (Drain):
https://github.com/tinkerpop/pipes/wiki/Release-Notes
A data flow framework using process graphs.

Rexster 0.3 (Dog Eat Dog):
https://github.com/tinkerpop/rexster/wiki/Release-Notes
A RESTful graph shell.

The Path-o-Logical Gremlin

Saturday, April 16th, 2011

The Path-o-Logical Gremlin

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.

Collaborative Graph Editing with GitGraph

Thursday, April 14th, 2011

Collaborative Graph Editing with GitGraph

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.

DBpedia4Neo

Saturday, April 9th, 2011

DBpedia4Neo

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.

Tinkerpop – New Releases

Monday, April 4th, 2011

Tinkerpop – New Releases

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

TinkerPop Updates

Thursday, March 3rd, 2011

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.