我目前正在尝试查看是否有可能从文档中提取某个值并将其绑定到SPARQL中的变量
例如,如果我在MarkLogic中有这样的文档。
/人/约翰
<person_data>
<name>John</name>
<age>25</age>
</person_data>
使用这些数据,我尝试了多种方法来绑定它,例如在sem:sparql中使用XPath,如下所示
xquery version "1.0-ml";
import module namespace sem = "http://marklogic.com/semantics" at "/MarkLogic/semantics.xqy";
sem:sparql('
PREFIX fn : <http://www.w3.org/2005/xpath-functions>
SELECT *
WHERE {
?s ?p ?o .
BIND (fn:doc("/person/John")//name/text() AS ?name)
}
',
(),
(),
()
)
但是,这导致了错误。因此,我非常感谢您提供有关完成此操作的任何建议。
答案 0 :(得分:1)
SPARQL引擎无法访问文档,但是无论如何都有更好的解决方案。您可以为此使用Template Driven Extraction。它可以公开文档的SQL视图,也可以公开'Identify Triples in Documents'。这实际上意味着可以将特定值投影到三元索引中,并且可以像数据库中的任何其他RDF数据一样将其作为RDF数据进行访问。
HTH!