Neo4j中唯一节点属性具有最高和最低连接的节点

时间:2017-07-31 20:07:49

标签: neo4j cypher

我在图表数据库中有两种类型的节点。一种是Testplan,另一种是Tag

我想找到哪些Tag个节点在唯一Testplan.TP_MNEM上具有最多连接(这是Testplan节点的属性)。

更详细地解释一下:

假设图表有5个Testplan个节点,3个TP_MNEM为“AAA”,1个TP_MNEM为“BBB”,另一个为TP_MNEM为“ CCC”。

我希望Tag节点连接到大多数类型的TP_MNEM。 如果Tag节点1与TP_MNEM“AAA”有3个连接且与任何其他TP_MNEM没有任何关联,则Tag节点1的优先级应低于Tag节点2有2个连接,但每个连接都有唯一的TP_MNEM(例如“AAA”和“CCC”)。

类似地,我希望Tag节点具有最高度但仅仅连接到一种类型的TP_MNEM。这里标记节点1将优先于标记节点2。

上传CSV的代码如下:

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///C:/SRA_clean.csv" AS row

MERGE(testplan:Testplan{
TP_ID:row.TP_ID,
DB_NAME:row.DATABASE_NAME,
TP_MNEM:row.TP_MNEMONIC,
TEST_TYPE:row.TEST_TYPE,
TEST_PLAN_NAME:row.TEST_PLAN_NAME,
CREATION_DATE:row.TS_CREATION_DATE,
MODIFIED_DATE:row.TS_MODIFIED_DATE,
SQL_SERVE_UPD_DATE:row.UPDATE_DT_TM_SQL_SERV,
MYSQL_UPD_DATE:row.UPDATE_DT_TM_MY_SQL
})
FOREACH (tagName IN split(row.Keywords,",")|
MERGE (tag:Tag{name:tagName})
MERGE(testplan)-[:TAGGED]->(tag))

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

我可能已经简化了事情(和/或误解了您的问题)......但是,以下查询是否满足您的第一个问题?

{{1}}

另一个问题......好吧......只需将 DESC 替换为 ASC ......

希望这有帮助。

此致 汤姆

相关问题