Cypher Query возвращается Нет - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь извлечь узлы из созданного мной графа.Но я получаю «None» в качестве возвращаемого значения, когда запускаю следующий код:

   def getNode(thisCypherQuery, parameter1, parameter2):
      cypherResult = graph.evaluate(thisCypherQuery, parameters= 
      {'subj':subject,'obj':objectt})
      return cypherResult

, если я пытаюсь обработать значение none, используя код ниже:

    def getNode(thisCypherQuery, parameter1, parameter2):
      thisNode= None
      thisRecord = graph.run(theCypherQuery, parameters = 
      {'para1':parameter1, 'para2':parameter2}).data()[0]
      theseNodes = [val for key,val in thisRecord .items() if val 
      != None]
      if len(theseNodes) > 0:
        thisNode = theseNodes[0]
      return thisNode 

Iполучить следующую ошибку:

IndexError: список индексов вне диапазона.

Я хочу извлечь объект для данного субъекта и отношений, используя созданный мной график.

Мой запрос шифрования выглядит следующим образом:

   theCypherQuery= '''MATCH (n:Label1) WHERE n.label1_name=$para1 
   OPTIONAL MATCH (n:Label1)<-[:REL1]-(n2:Label2) WHERE 
   n2.label2_name = $para2
   OPTIONAL MATCH (n:Label1)<-[:REL1]-(n3:Label3) WHERE 
   n3.label3_name = $para2
   RETURN n2, n3'''
...