Marklogic sparql查询默认检索顺序
Marklogic sparql query default retrieval order
我们正在使用语义在 Marklogic 数据库中保存树结构。我们创建了一个名为 "childof" 的自定义谓词并存储了子项。
Java 对象:
public class HierarchyTree {
private String documentUri;
private List<HierarchyTree> children;
public String getDocumentUri() {
return documentUri;
}
public void setDocumentUri(String documentUri) {
this.documentUri = documentUri;
}
public List<HierarchyTree> getChildren() {
return children;
}
public void setChildren(List<HierarchyTree> children) {
this.children = children;
}
}
三通结构如下图:
在保存树的同时,我们进行深度优先搜索并为每个节点创建三元组:
<
documenturi>
childof <
documenturi>
并将其保存在一个集合中。
每次迭代我们都会添加一个新的三元组,其中子节点成为下一个子节点的父节点,直到到达树的底部并将其添加到同一个集合中。
该集合包含特定层次结构树的所有三元组。
现在的问题是从集合中检索三元组时我们无法控制三元组的顺序。
1.当我们触发 SPARQL 查询时,Marklogic 检索三元组的默认顺序是什么?
2。有没有一种方法可以按相同的插入顺序或相反的顺序检索三元组?
MarkLogic 中没有插入顺序等概念。此外,当 运行 SPARQL 查询(如 MarkLogic 中的许多优化查询)时,不会触及原始文档,而只是索引保存价值。我认为 'default' 对您没有任何帮助。您可能需要根据三元组中的信息或通过 RDF 的附加信息构建更强大的 SPARQL 查询以进行推理。
这两个文档可能会有所帮助:
https://developer.marklogic.com/features/semantics/path-examples
https://developer.marklogic.com/features/semantics/inference-examples
我们正在使用语义在 Marklogic 数据库中保存树结构。我们创建了一个名为 "childof" 的自定义谓词并存储了子项。
Java 对象:
public class HierarchyTree {
private String documentUri;
private List<HierarchyTree> children;
public String getDocumentUri() {
return documentUri;
}
public void setDocumentUri(String documentUri) {
this.documentUri = documentUri;
}
public List<HierarchyTree> getChildren() {
return children;
}
public void setChildren(List<HierarchyTree> children) {
this.children = children;
}
}
三通结构如下图:
在保存树的同时,我们进行深度优先搜索并为每个节点创建三元组:
<
documenturi>
childof <
documenturi>
并将其保存在一个集合中。
每次迭代我们都会添加一个新的三元组,其中子节点成为下一个子节点的父节点,直到到达树的底部并将其添加到同一个集合中。
该集合包含特定层次结构树的所有三元组。
现在的问题是从集合中检索三元组时我们无法控制三元组的顺序。
1.当我们触发 SPARQL 查询时,Marklogic 检索三元组的默认顺序是什么?
2。有没有一种方法可以按相同的插入顺序或相反的顺序检索三元组?
MarkLogic 中没有插入顺序等概念。此外,当 运行 SPARQL 查询(如 MarkLogic 中的许多优化查询)时,不会触及原始文档,而只是索引保存价值。我认为 'default' 对您没有任何帮助。您可能需要根据三元组中的信息或通过 RDF 的附加信息构建更强大的 SPARQL 查询以进行推理。
这两个文档可能会有所帮助:
https://developer.marklogic.com/features/semantics/path-examples
https://developer.marklogic.com/features/semantics/inference-examples