【发布时间】:2018-10-23 22:16:33
【问题描述】:
我有一组使用 MarkLogic 9.06 管理的 XML 文档。每个文档都包含(非托管)sem:triple 元素,声明一个“rdf:type”三元组和一个“rdfs:label”三元组:
<sem:triple xmlns:sem="http://marklogic.com/semantics">
<sem:subject>abc</sem:subject>
<sem:predicate>http://www.w3.org/1999/02/22-rdf-syntax-ns#type
</sem:predicate>
<sem:object>http://purl.org/dc/terms/BibliographicResource
</sem:object>
</sem:triple>
<sem:triple xmlns:sem="http://marklogic.com/semantics">
<sem:subject>abc</sem:subject>
<sem:predicate>http://www.w3.org/2000/01/rdf-schema#label
</sem:predicate>
<sem:object datatype="http://www.w3.org/2001/XMLSchema#string">abc
</sem:object>
</sem:triple>
我注意到,对于包含此类三元组的文档所属的每个(MarkLogic)集合,相应的命名图包含一组(自动生成的)三元组,因此如果文档属于“collection_1”和“collection_2” ,执行XQuery如:
xquery version "1.0-ml";
import module namespace sem = "http://marklogic.com/semantics"
at "/MarkLogic/semantics.xqy";
sem:graph(sem:iri("collection_1"))
=>
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xs: <http://www.w3.org/2001/XMLSchema#> .
<abc> a dcterms:BibliographicResource ,
dcterms:BibliographicResource ;
<http://www.w3.org/2000/01/rdf-schema#label> "abc"^^xs:string ,
"abc"^^xs:string .
就回答命名图查询而言,冗余语句似乎无害 (?),但这是正常的 MarkLogic 行为,还是我做错了什么?
【问题讨论】:
标签: marklogic