Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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
Marklogic sparql查询默认检索顺序_Marklogic_Marklogic 8 - Fatal编程技术网

Marklogic sparql查询默认检索顺序

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

我们正在使用语义在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;
私人名单儿童;
公共字符串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有用。如果提供的答案是正确的,请将其标记为正确。否则,请详细说明,以便其他人提供帮助。