我正在使用 neo4jphp(https://github.com/jadell/neo4jphp)。这是我的数据节点和关系。我正在尝试使用遍历为任何一个文件查找“相关下载”,并希望获得代码方面的帮助。这是我当前的代码(它只返回谁下载了 file_id = 1)
$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 将排名第二。
先感谢您。