The graph database Neo4j has been updated to add the ability for its Cypher query language to write data and update indexes. This is designed to make it easier to explore the power of the graph database by directly interacting with it. The new CREATE command can take definitions of new nodes and associated data and edges that create relationships. An example use given in the Neo4j blog is
CREATE (me {name:"Andreas"}), (heather {name:"Heather"}),
       (jest {title:"Infinite Jest"}),
       (me)-[:knows]->(heather), (heather)-[:likes]->(jest)
which creates, in order, a node “me” with a name “Andreas”, a node “heather” with a name “Heather”, a node “jest” representing a book titled “Infinite Jest”, and then the relationships… that “me” knows “heather” and “heather” likes “jest”. These relationships and nodes can be queried efficiently using existing Cypher commands. The Cypher query language is command-line accessible from the Neo4j shell or programatically from the Java or Python APIs. Read the full article.