0
我正在使用neo4jphp(https://github.com/jadell/neo4jphp)。这是我的数据节点和关系。我正在尝试使用遍历来查找任何一个文件的“相关下载”,并希望获得有关代码的帮助。这是我当前的代码(它只返回谁下载的file_id = 1)neo4j遍历相关下载
$traversal = new Everyman\Neo4j\Traversal($this->client);
$traversal->addRelationship('download', Relationship::DirectionIn)
->setPruneEvaluator(Traversal::PruneNone)
->setReturnFilter(Traversal::ReturnAllButStart) // ReturnAllButStart OR ReturnAll
->setMaxDepth(0);
$pager = new Everyman\Neo4j\Pager($traversal, $startNode, Traversal::ReturnTypeNode);
$pager->setPageSize(10)
->setLeaseTime(120);
while ($results = $pager->getNextResults()) {
foreach ($results as $node) {
echo $node->getProperty('fi') . $node->getProperty('name')."\n";
}
}
例如,如果的StartNode是的file_id = 1,最相关的下载将FILE_ID = 3,因为大家谁下载的file_id 1也可以下载的file_id = 3.File_id 2和4将排名第二。
预先感谢您。
这是正确的。我还要补充一点,如果你要使用遍历方法,你会想将maxDepth设置为大于0的值。但是Cypher绝对是这里的一种方式。 –