我是以下示例节点:
SELECT `Team size`, COUNT(*) FROM (
SELECT COUNT(*) AS `Team size`
FROM tblteamplayers
GROUP BY TeamID
) t GROUP BY `Team size`
然后我在CSV文件中的这些节点之间进行连接/验证。
jq -r '.[0].properties.packageId'
我正在尝试使用CSV文件构建关系(主机之间的身份验证),但在创建关系之前,我无法完成查询。 有没有办法为类似于SQL连接的匹配创建别名?
{
"name": "host_1",
"id": 0
}
{
"name": "host_2",
"id": 1
}
我想制作一个别名,例如
{
"src_id": "291",
"dest_id": "162"
}
{
"src_id": "291",
"dest_id": "257"
}
根据我的研究,这似乎不可能。任何建议,将不胜感激。这是我的数据集结构的限制或问题吗?
答案 0 :(得分:1)
您遇到的问题是您使用相同的变量n
来引用这两个节点,因此无法正常工作。如果您想使用src_node
和dest_node
作为变量,您可以:
LOAD CSV WITH HEADERS FROM "file:///redteam_connections.csv" AS row
MATCH (destNode:nodes {id: toInteger(row.dest_id)}), (srcNode:nodes {id: toInteger(row.src_id)})
CREATE (destNode)-[:AUTHENTICATION]->(srcNode)
您肯定希望在:nodes(id)上添加索引,以便您的查找速度很快,并且您可能需要重新考虑:nodes
标签。按照惯例,标签往往是大写的和单数的(复数通常用于实际收集()项目到列表中),因此:Node
更合适。
如果您的CSV很大,我还建议您use periodic commit允许批处理并防止堆积。