【发布时间】:2016-10-26 21:49:43
【问题描述】:
我们正在使用语义在 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 marklogic-8