Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 在数据库中查询具有给定uuid的未知元素_Neo4j_Cypher - Fatal编程技术网

Neo4j 在数据库中查询具有给定uuid的未知元素

Neo4j 在数据库中查询具有给定uuid的未知元素,neo4j,cypher,Neo4j,Cypher,很多年前,我与一些neo4j工程师讨论了在给定uuid的情况下查询未知对象的能力 当时的答案是neo4j中没有通用的db指数 现在,我有同样的问题要解决: 我创建的每个节点都有一个唯一的id(uuid的形式为,其中ns是名称空间,uuid是唯一的uuid,v=n是元素的版本号 我希望能够运行以下密码查询: match (n) where n.about = 'ki:u-SSD-v5.0?v=2' return n; 实际上什么也不返回 下面的查询 match (n:'mm:ontology')

很多年前,我与一些neo4j工程师讨论了在给定uuid的情况下查询未知对象的能力

当时的答案是neo4j中没有通用的db指数

现在,我有同样的问题要解决:

我创建的每个节点都有一个唯一的id(uuid的形式为,其中ns是名称空间,uuid是唯一的uuid,v=n是元素的版本号

我希望能够运行以下密码查询:

match (n) where n.about = 'ki:u-SSD-v5.0?v=2' return n;
实际上什么也不返回

下面的查询

match (n:'mm:ontology') where n.about = 'ki:u-SSD-v5.0?v=2' return n;
返回所需的内容,尽管在查询时我不知道元素类型

有人能帮忙吗


Paolo

您是否考虑过在数据库中的每个节点上为
about
属性添加achema索引

比如说

将全局标签添加到图形中尚未添加的所有节点(例如,节点)。如果图形过大和/或堆过小,则需要批处理此操作。如下所示

MATCH (n)
WHERE NOT n:Node
WITH n
LIMIT 100000
SET n:Node
添加标签后,在“关于”属性上为新全局标签(例如节点)创建索引。这些步骤也可以互换执行

CREATE CONSTRAINT ON (node:Node) assert node.about IS UNIQUE
然后使用如下内容进行查询

MATCH (n:Node) 
WHERE n.about = 'ki:u-SSD-v5.0?v=2' 
RETURN n;

将以性能方式返回您正在搜索的节点。

是唯一的还是多个命名空间具有相同的
uuid+版本
?命名空间+uid+版本是唯一的。当然,如果命名空间未扩展,则可能存在重复,但我们可以将其视为唯一的。如果有他能够扩展一个名称空间来构建相应的IRI并将其用作索引。但是没有运行;-(您是否向所有节点添加了
节点
标签?是的,所有节点都有一个about标签,因为它们来自rdf:Owl本体,而about-in-Owl具有与uuid相同的角色(不太容易,但接受这个概念!)因此,现在我在数据库中加载了以下元素:
create constraint on(node:node)assert node.about是唯一的;
create(\u ki\u SSD\u v5\u 0\u v\u 2:
mm:ontology`{关于:'ki:u-SSD-v5.0?v=2',标签:'SSD-v5.0',集合名称:'/db/apps/SSD/ontology/public/SSD-v5.0',hasVersion:'2',解码:'true',hasCreationDate:'2013-04-11T18:09:45.735+02:00',标签:'u it'SSD-v5.0'});`如果您在浏览器中键入
:schema
,返回的是什么?是的-没有标签肯定无法工作。没有标签,您的查询将无法匹配任何内容。我在答案中添加了一点额外内容以澄清这一点。