Marklogic sparql查询默认检索顺序
我们正在使用语义在Marklogic数据库中保存一个树结构。我们创建了一个名为“childof”的自定义谓词,并存储了这些子项 Java对象:Marklogic sparql查询默认检索顺序,marklogic,marklogic-8,Marklogic,Marklogic 8,我们正在使用语义在Marklogic数据库中保存一个树结构。我们创建了一个名为“childof”的自定义谓词,并存储了这些子项 Java对象: public class HierarchyTree { private String documentUri; private List<HierarchyTree> children; public String getDocumentUri() { return documentUri; } public void se
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;
私人名单儿童;
公共字符串getDocumentUri(){
返回documentUri;
}
公共void setDocumentUri(字符串documentUri){
this.documentUri=documentUri;
}
公共列表getChildren(){
返回儿童;
}
公共子项(列出子项){
这个。孩子=孩子;
}
}
T形结构如下图所示:
在保存树的同时,我们正在进行深度优先搜索,并为每个节点创建三元组,如下所示:
childof
并将其保存在集合中
在每次迭代中,我们添加一个新的三元组,其中子级成为下一个子级的父级,直到到达树的底部,并将其添加到同一集合中
集合保存特定层次结构树的所有三元组
现在的问题是,当从集合中检索三元组时,我们无法控制三元组的顺序
1。启动SPARQL查询时,Marklogic检索三元组的默认顺序是什么?
2。有没有一种方法可以按插入的相同顺序或相反顺序检索三元组?MarkLogic中没有插入顺序等概念。此外,当运行SPARQL查询(就像MarkLogic中的许多优化查询)时,不会触及原始文档,而只触及保存值的索引。我认为“默认”在这里对你没有帮助。根据三元组中的信息或通过RDF的附加信息来进行推理,构建更健壮的SPARQL查询可能取决于您 这两份文件可能有助于:
MarkLogic中没有插入顺序等概念。此外,当运行SPARQL查询(与MarkLogic中的许多优化查询一样)时,不会触及原始文档,而只触及保存值的索引。我认为“默认”在这里对你没有帮助。根据三元组中的信息或通过RDF的附加信息来进行推理,构建更健壮的SPARQL查询可能取决于您 这两份文件可能有助于:
谢谢你的回答,大卫。我们在Java层对其进行了编码。我已经编写了方法来构建正确的树层次结构,无论三元组的检索顺序如何。没问题。请帮助保持StackOverflow有用。如果提供的答案是正确的,请将其标记为正确。否则,请详细说明,以便其他人可以提供帮助。谢谢你的回答David。我们在Java层对其进行了编码。我已经编写了方法来构建正确的树层次结构,无论三元组的检索顺序如何。没问题。请帮助保持StackOverflow有用。如果提供的答案是正确的,请将其标记为正确。否则,请详细说明,以便其他人提供帮助。