【问题标题】:How to query specific model in TDB?如何查询 TDB 中的特定模型?
【发布时间】:2012-07-08 05:41:06
【问题描述】:

我用许多命名模型构建了一个TDB数据集,所有这些模型都包含大量数据。我知道我可以从TDB数据集中获取特定模型,然后查询这个模型,但是这样,需要大内存。

有了这个:select ?s ?p ?o where {graph ?g {?s ?p ?o}.},我可以查询出所有命名模型的数据。有什么方法可以查询具体的吗?

【问题讨论】:

    标签: sparql jena


    【解决方案1】:

    是的,只需将 ?g 替换为命名模型的 URI,例如

    SELECT * WHERE
    {
      GRAPH <http://example.org/graph>
      { ?s ?p ?o }
    }
    

    另一种选择是保留?g,而是在查询中添加一些FROM NAMED 子句,以限制GRAPH 子句考虑的命名图,例如

    SELECT
    FROM NAMED <http://graph/1>
    FROM NAMED <http://graph/2>
    WHERE
    {
      GRAPH ?g { ?s ?p ?o }
    }
    

    【讨论】:

    • 我终于解决了这个问题,模型的名字应该是URI,而不仅仅是字符串
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    相关资源
    最近更新 更多