MarkLogic文档宣布注释并向RDF添加元数据,但是我找不到任何细节。有人能指出我正确的方向吗?
答案 0 :(得分:3)
在MarkLogic中,三元组可以以与RDFa类似的样式注释文档,也可以在特定的三元库xml文档中保留。
Semantics Developer's Guide的Uses for Triples in XML Documents部分展示了如何注释三重存储文档和三元组本身的示例:
<?xml version="1.0" encoding="UTF-8"?>
<sem:triples xmlns:sem="http://marklogic.com/semantics">
<source>AP Newswire</source>
<sem:triple date="1972-02-21" confidence="100">
<sem:subject>http://example.org/news/Nixon</sem:subject>
<sem:predicate>http://example.org/wentTo</sem:predicate>
<sem:object>China</sem:object>
</sem:triple>
</sem:triples>
在这种情况下,三元商店文档已经注释显示其来源(AP Newswire),三元组本身已经被日期和我们对这一事实的信心所激发。
然后使用以下查询来回答问题:
尼克松访问了哪些国家?
...
import module namespace sem = "http://marklogic.com/semantics" at "/MarkLogic/semantics.xqy";
sem:sparql ('
SELECT ?country
WHERE {
<http://example.org/news/Nixon> <http://example.org/wentTo> ?country
}',
(),
(),
cts:and-query( (
cts:path-range-query( "//sem:triple/@confidence", ">", 80) ,
cts:path-range-query( "//sem:triple/@date", "<",xs:date("1974-01-01") ),
cts:or-query( (
cts:element-value-query(xs:QName("source"), "AP Newswire" ),
cts:element-value-query(xs:QName("source"), "BBC" )
) )
) )
)
希望有所帮助! 编