py2Neo.ogm shortestPath搜索没有打开结果

时间:2017-07-10 17:36:47

标签: neo4j cypher py2neo neo4j-ogm

我已经用ogm实现了py2neo,但是我不能让搜索功能像它应该的那样工作。下面我将cypher查询(直接到Neo4j数据库)与' rpt_id' ' country_code' 作为图形中的GraphObjects将它们作为图表的主键。它们之间的关系是 PART_OF

MATCH (m:Column {name: '{rpt_id}'}), (n:Column {name:'{country_code}'}),
p = shortestPath((m)-[:PART_OF*..4]-(n)) 
RETURN p

我希望Table(另一个ogm节点)的响应能够到达country_code,但是没有返回任何内容。

1 个答案:

答案 0 :(得分:0)

如果肯定存在与 rpt_id country_code 相匹配的节点,我预计问题是在参数周围使用刻度线。我会按如下方式重新编写查询:

function merge(arrayOne, arrayTwo){
  let sorted = []
  while(arrayOne.length > 0 && arrayTwo.length > 0){
    if(arrayOne[0] < arrayTwo[0]){
      sorted.push(arrayOne.shift());
    } else{
      sorted.push(arrayTwo.shift());
    }
  }
  return sorted.concat(arrayOne).concat(arrayTwo);
}

function mergeSort(array){
  let arrayLength = array.length;
  let midpoint = arrayLength/2;
  let firstHalf = array.slice(0, midpoint);
  let secondHalf = array.slice(midpoint, arrayLength);
  if(arrayLength < 2){
    return array;
  } else{
    return merge(mergeSort(firstHalf), mergeSort(secondHalf));
    // ^ *** only required change made here ***
  }
}