Общий фон
В настоящее время я пытаюсь записать запросы neo4j в функции, которые будут использоваться в колбе.
Я хочу, чтобы функция загружала данные из файла CSV, который обновляется сампериодически и создавать новые узлы и отношения по мере необходимости.После этого пользователи смогут вводить поисковые термины, относящиеся к названию своей статьи, и находить ключевые слова, относящиеся к их статье, с использованием метода сходства Jaccard.
Я пытался следовать приведенной здесь структуре функций:
https://github.com/nicolewhite/neo4j-flask/blob/master/blog/models.py
Я тестировал зашифрованные запросы neo4j отдельно, и в настоящее время я пытаюсь, чтобы py2neo использовал пользовательский ввод в качестве поискового запроса и добавлял в мой зашифрованный запрос поиск похожих слов.
Моя структура данных csv заголовка выглядит следующим образом:
title_id,title
T1,ArticleTitle1
T2,ArticleTitle2
Файл csv моего ключевого слова выглядит следующим образом:
title_id,keyword_id,keyword
T1,K1,aaa
T1,K2,bbb
T1,K3,ccc
T1,K4,ddd
T2,K1,aaa
T2,K5,eee
T2,K6,fff
T2,K4,ddd
В настоящее время мой код py2neo выглядит следующим образом:
from py2neo import Graph, Node, Relationship
from datetime import datetime
import os
import uuid
url = os.environ.get('GRAPHENEDB_URL', 'http://localhost:7474')
graph = Graph(url + '/db/data/', username="****", password="****")
class Keyword:
def jaccard_kw_rec(self, search):
query2 = '''MATCH (p:Title)-[:SIMILAR]->(other),
(other)-[:HAS_KEYWORDS]->(keyword)
WHERE not((p)-[:HAS_KEYWORDS]->(keyword)) and p.Title contains {self.search}
RETURN keyword AS keywords
'''
return graph.run(query2)
Я скопировал форму функций, но после запуска с ошибками (python по-прежнему рассматривает мой запрос как просто строку), я немного растерялся относительно того, куда я должен идти дальше.
Большое спасибо,
Эрик