Neo4j 对所有标签进行采样并返回代表x%节点的图形的Cypher查询(或APOC过程)

Neo4j 对所有标签进行采样并返回代表x%节点的图形的Cypher查询(或APOC过程),neo4j,cypher,Neo4j,Cypher,我正在使用一个具有多种对象类型(例如标签)的图形。 我希望能够运行一个查询,对每个标签进行采样,并返回一个小但具有代表性的数据集,其中包含每个标签的节点(和关系)。有人看到或实现了这一点吗? 谢谢,John在不知道您的型号的情况下,您可以通过Cypher语句调用apoc.meta.graph()将完整的标签结构显示为图形 对于每个标签的代表性数据集,我们应该知道您的基础模型或标签。我可以想象一个基于限制条款的解决方案: MATCH (n) OPTIONAL MATCH (n)-[r]-() WI

我正在使用一个具有多种对象类型(例如标签)的图形。 我希望能够运行一个查询,对每个标签进行采样,并返回一个小但具有代表性的数据集,其中包含每个标签的节点(和关系)。有人看到或实现了这一点吗?
谢谢,John

在不知道您的型号的情况下,您可以通过Cypher语句调用apoc.meta.graph()将完整的标签结构显示为图形

对于每个标签的代表性数据集,我们应该知道您的基础模型或标签。我可以想象一个基于
限制
条款的解决方案:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
WITH n, r
  LIMIT 5000
RETURN n, r;

这将为每个标签返回与此标签关联的五个节点:

call db.labels() yield label
call apoc.cypher.run("match (x:`"+label+"`) RETURN x LIMIT 5", null) yield value
return label, collect(value.x) AS nodes

有趣的是:这正是我要找的!谢谢你,克里斯托弗!