【问题标题】:Named Graph Support in MarkLogicMarkLogic 中的命名图支持
【发布时间】:2015-09-02 21:55:05
【问题描述】:

我不明白 MarkLogic 如何支持 FROM NAMED 图形。我正在尝试使用 SPARQL 查询来查找三元组来自哪个集合。结果真的很混乱。例如:

select *
FROM <http://x.y.z/c>
FROM NAMED <http://x.y.z/c>
WHERE {
#  GRAPH ?g 
  {?s ?p ?o}
  }

返回一组三元组。但是,如果我取消注释 # GRAPH ?g 行,则会返回以下错误:

[1.0-ml] XDMP-COLLXCNNOTFOUND: amped-qconsole:qconsole-sparql($query, (), (), (), ()) -- Collection lexicon not enabled

突出显示在WHERE { 行。

此外,以下工作并返回一组三元组:

select *
FROM <http://x.y.z/c>
WHERE {
  {?s ?p ?o}
  }

但不是这个:

select *
FROM NAMED <http://x.y.z/c>
WHERE {
  {?s ?p ?o}
  }

它返回一个空集。添加GRAPH ?g 行会导致返回与上述相同的错误。我真的很困惑。有人可以解释一下这种行为吗?

【问题讨论】:

    标签: sparql marklogic marklogic-8 named-graphs


    【解决方案1】:

    MarkLogic 在其图的实现中使用集合。 GRAPH keyword documentation 中有一条注释提到需要收集词典。

    在 SPARQL 查询中使用 GRAPH 构造时,必须启用集合词典。您可以从数据库配置页面或管理界面启用收集词典。

    我要补充一点,您还可以通过Management API 启用收藏词典。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 1970-01-01
      相关资源
      最近更新 更多