发现现有Neo4j数据集中的关系和节点标签

发现现有Neo4j数据集中的关系和节点标签,neo4j,cypher,Neo4j,Cypher,我对Neo4j不熟悉,但正在工作中探索现有的数据集。我在通过Neo4j桌面工具发现这些关系时遇到困难 Cypher是否支持可以回答以下问题的查询 列出所有关系 对于每个关系,节点的列表类型都位于两侧 对于给定节点,列出其上存在的关系 TYPE()函数将为您提供关系的类型。要按类型查看关系计数,请运行此查询 MATCH ()-[r]->() RETURN TYPE(r) AS relationshipType, COUNT(*) AS relationshipCount MATCH (s)

我对Neo4j不熟悉,但正在工作中探索现有的数据集。我在通过Neo4j桌面工具发现这些关系时遇到困难

Cypher是否支持可以回答以下问题的查询

  • 列出所有关系
  • 对于每个关系,节点的列表类型都位于两侧
  • 对于给定节点,列出其上存在的关系
  • TYPE()函数将为您提供关系的类型。要按类型查看关系计数,请运行此查询

    MATCH ()-[r]->()
    RETURN TYPE(r) AS relationshipType, COUNT(*) AS relationshipCount
    
    MATCH (s)-[r]->(e)
    RETURN labels(s) AS startLabels, 
    TYPE(r) AS relationshipType,
    LABELS(e) AS endLabels,
    COUNT(*) AS relationshipCount
    
    函数的作用是:为您提供节点上的标签。要查看关系两侧的节点类型,请运行此查询

    MATCH ()-[r]->()
    RETURN TYPE(r) AS relationshipType, COUNT(*) AS relationshipCount
    
    MATCH (s)-[r]->(e)
    RETURN labels(s) AS startLabels, 
    TYPE(r) AS relationshipType,
    LABELS(e) AS endLabels,
    COUNT(*) AS relationshipCount
    
    要查看连接到具有给定标签的节点的关系类型的计数,请运行此查询,将标签名称替换为“myLabel”


    大部分数据存储在计数存储中。虽然您可以发出可以利用此功能的密码查询,但获取所有这些信息的最佳方式是转储计数存储数据

    如果已安装APOC程序,则可以使用:

    CALL apoc.meta.stats()
    
    CALL db.stats.retrieve('GRAPH COUNTS')
    
    如果没有,则可以使用:

    CALL apoc.meta.stats()
    
    CALL db.stats.retrieve('GRAPH COUNTS')
    
    您还可以使用以下工具查看图形中标签和关系的图形版本:

    CALL apoc.meta.graph()
    
    或者,如果没有APOC,则:

    CALL db.schema.visualization()
    

    对那些否决并结束这个问题的人:你能解释为什么吗?我想你可能误解了我的要求。Neo4j是一种广泛使用的开源技术。我不是问特定于我的用例的问题。这是一个关于Neo4j功能的一般性问题,下面的有用答案可能对任何Neo4j用户都有用。谢谢<代码>调用apoc.meta.graph()特别有用。