Ich versuche, eine CSV mit Strings von AD-Gruppen in Neo4j zu analysieren. Ich benutze den Python-Treiber und folge dem schnellen Beispiel.Cypher Syntaxfehler mit neo4h Python-Treiber
import csv
from neo4j.v1 import GraphDatabase
driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "neo"))
def print_friends(tx, name):
for record in tx.run("MATCH (a:User) WHERE a.name = $name "
"RETURN a.name ORDER BY a.name", name=name):
print(record["a.name"])
def create_group(tx, name):
print "create group: " + name
tx.run("MERGE (g:Group {name: $name}) ", {"name": name})
def set_group_label(tx, name, label):
label = ":" + label
print "set label: " + name +" "+ label
tx.run("MATCH (g:Group) "
"WHERE g.name = $name "
"SET g $label", name=name, label=label)
with open('../transfer/ALLADUsersGroups_201704180501.csv', 'rb') as file:
reader = csv.reader(x.replace('\0', '') for x in file)
for i, row in enumerate(reader):
if i==102435:
with driver.session() as session:
session.write_transaction(create_group, row[1].split("=")[1])
session.write_transaction(set_group_label, row[1].split("=")[1], row[1].split("=")[0])
Ich versuche, ein neues Label basierend auf dem Typ der Gruppe, z. {CN, OU, DC usw.}. jedoch die folgende Fehlermeldung erhalte ich:
neo4j.exceptions.CypherSyntaxError: Unexpected end of input: expected an identifier character, whitespace or a relationship pattern (line 1, column 50 (offset: 49))
"MATCH (g:Group) WHERE g.name = $name SET g $label"
^
Bin ich etwas falsch ist dies etwas mit dem Fahrer zu tun?
sollte ich sagen, dass ich die Installationsanweisungen von hier befolgt haben: Neo4j Driver for Python