将文档中的值绑定到 SPARQL 变量 (MarkLogic)
BIND values from Documents to a SPARQL Variable (MarkLogic)
我目前正在尝试查看是否可以从文档中提取特定值并将其绑定到 SPARQL 中的变量
例如,如果我在 MarkLogic 中有这样的文档。
/person/John
<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)
}
',
(),
(),
()
)
然而,这导致了一个错误。因此,我非常感谢有关完成此任务的任何建议。
SPARQL 引擎无法访问文档,但无论如何有更好的解决方案。您可以使用 Template Driven Extraction for this. It can expose an SQL view on documents, but also 'Identify Triples in Documents'。它实际上意味着可以将特定值投影到三重索引中,并且可以像数据库中的任何其他 RDF 数据一样作为 RDF 数据访问。
HTH!
我目前正在尝试查看是否可以从文档中提取特定值并将其绑定到 SPARQL 中的变量
例如,如果我在 MarkLogic 中有这样的文档。
/person/John
<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)
}
',
(),
(),
()
)
然而,这导致了一个错误。因此,我非常感谢有关完成此任务的任何建议。
SPARQL 引擎无法访问文档,但无论如何有更好的解决方案。您可以使用 Template Driven Extraction for this. It can expose an SQL view on documents, but also 'Identify Triples in Documents'。它实际上意味着可以将特定值投影到三重索引中,并且可以像数据库中的任何其他 RDF 数据一样作为 RDF 数据访问。
HTH!