Eine Ecke, in der Sie Neo4J lange ausprobieren können.
Wenn Sie Cypher beherrschen, eine Abfragesprache für Diagrammdatenbanken, die kürzlich geöffnet wurde, können Sie Diagrammstrukturen erstellen und durchsuchen. Beginnen wir also mit Cypher.
Ich habe versucht, py2neo, das ich das letzte Mal eingefügt habe, als Begleiter zu verwenden. Installation über Pip:
sudo pip install py2neo $ python -V Python 2.7.10
Vorerst habe ich ein subtiles Beispiel kopiert und korrigiert (und es funktioniert nicht), das im Web nicht TROCKEN war, und es ermöglicht, Stapelverarbeitungen durchzuführen:
test.py
from py2neo import Graph
graph = Graph("http://neo4j:yourpassword@:7474/db/data/")
statement = """
MERGE (person:Person {name:{person_name}}) ON CREATE SET
person.age = {person_age},
person.sex = {person_sex}
MERGE (pet:Pet {name:{pet_name}}) ON CREATE SET
pet.type = {pet_type}
MERGE (person)-[:owns]->(pet)
RETURN person
"""
tx = graph.cypher.begin()
persons = [
{'name': 'Homer', 'age': 32, 'sex': 'Male', 'pet_name': 'Buller', 'pet_type': 'Dog'},
{'name': 'Lucy', 'age': 12, 'sex': 'Male', 'pet_name': 'Buller', 'pet_type': 'Dog'},
{'name': 'Lucy', 'age': 12, 'sex': 'Male', 'pet_name': 'Betty', 'pet_type': 'Cat'}
]
for person in persons:
print person
tx.append(statement, {
'person_name': person['name'],
'person_age': person['age'],
'person_sex': person['sex'],
'pet_name': person['pet_name'],
'pet_type': person['pet_type']
})
tx.process()
tx.commit()
Sie können den Ablauf anzeigen, indem Sie nur den Transaktionsteil extrahieren:
tx = graph.cypher.begin() tx.append(statement, { ... }) tx.process() tx.commit()
Wenn Sie die Cypher-Syntax von MERGE ~ ON CREATE in der Anweisung beherrschen, sieht sie auch ziemlich gut aus.
Siehe das folgende Beispiel von py2neo, das JSON festschreibt, das anders geschrieben werden könnte. http://jexp.github.io/blog/html/load_json.html
Versuchen Sie als Nächstes, mit Cypher über die Befehlszeile zu spielen (Umgebung ist Mac).
$ neo4j-shell
Unable to find any JVMs matching version "1.7".
Welcome to the Neo4j Shell! Enter 'help' for a list of commands
NOTE: Remote Neo4j graph database service 'shell' at port 1337
neo4j-sh (?)$ MATCH (p)-[:owns]-(pet) WHERE p.name = "Lucy" RETURN p, pet;
+------------------------------------------------------------------------------+
| p | pet |
+------------------------------------------------------------------------------+
| Node[11]{name:"Lucy",age:12,sex:"Male"} | Node[12]{name:"Betty",type:"Cat"} |
| Node[11]{name:"Lucy",age:12,sex:"Male"} | Node[10]{name:"Buller",type:"Dog"} |
+------------------------------------------------------------------------------+
2 rows
46 ms
Beim Start von neo4j-shell wurde etwas beanstandet, aber es wurde erfolgreich abgefragt.
Führen Sie dieselbe Abfrage im Browser aus:
MATCH (p)-[:owns]-(pet) WHERE p.name = "Lucy" RETURN p, pet;
Drücken Sie die Grafiktaste rechts und Sie sehen den Grafikbildschirm, den Sie erwartet haben: http://localhost:7474/browser/
Unten auf der ursprünglichen Seite: http://neo4j.com/docs/stable/cypher-refcard/
Ich kann im Web keine gute Einführung in Japanisch finden.
Beeilen Sie sich und freuen Sie sich auf "Studiennotizen" mit Updates von Zeit zu Zeit! http://qiita.com/Keech/items/6bd5b667e935a20be018
Lass uns das in unserem eigenen Tempo machen ^^;