Мой код добавляет кивки и создает отношения. Он обновляется, когда соединение является a-> b, a-> c, a-> d, оно работает (к узлу добавляются новые отношения), но когда я добавляю соединение f-> a, то второй узел с именем a является создано. Как я могу сделать это для обновления существующего узла a?Обновление узла neo4j с новыми отношениями, используя py2neo
graph = Graph()
with open('test2') as fp:
for line in fp:
result = line.split('\t')
category1 = graph.merge_one("Category", "name",result[0][result[0].rfind(':')+1:])
category2 = graph.merge_one("Category", "name",result[1][result[1].rfind(':')+1:])
print result[0][result[0].rfind(':')+1:] +"|"+result[1][result[1].rfind(':')+1:]
graph.create_unique(Path(category1, "SubCategoryOf", category2))
Мои тестируемых файлов:
Категория: Wars_involving_Burma Категория: Wars_by_country Категория: Wars_involving_Burma Категория: Military_history_of_Burma Категория: Wars_involving_Burma Категория: Foreign_relations_of_Burma Категория: World_War_II Категория: Wars_involving_Bulgaria Категория: World_War_II Категория : Wars_involving_Burma
В этом примере
Категория: Wars_involving_Burma
создается дважды.
Спасибо, Мартин. Я уже нашел вопрос, что это была новая новая строка (\ n). Из-за этого, хотя имя выглядело одинаково в базе данных, оно было другим. Я считаю ваш ответ правильным, потому что ваш предложенный rstrip() решил бы это. – Andrejs