【问题标题】:sparql-query and sparql-update both are not the same?sparql-query 和 sparql-update 都不一样?
【发布时间】:2016-07-25 10:10:04
【问题描述】:

我发现这是两种不同的查询语言: SPARQL-QUERY 和 SPARQL-UPDATE。

我可以在 SPRARQL 中看到哪些其他类型?

我正在寻找一种可以用新值替换特定元素属性的语法。

但是,使用插入查询,我只能看到新值被添加为属性的附加值,而不是替换属性的整个值。

那么,有没有其他语言可以达到这个目的,比如 sparql-update 的东西?

另外,我可以看到删除选项在那里。但我不想指定一个特定的值,而是要删除整个模式。当然,我们可以指定我猜的模式。但我只是想知道,是否有用于此目的的特定语言。

编辑:

在下面的查询中,我根本找不到使用where 子句的目的。它总是将指定的值作为新值插入,但不会替换它。我们需要专门使用 delete 子句。那么这里where子句的作用是什么?

    PREFIX dc: <http://purl.org/dc/elements/1.1/>
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
    PREFIX indexing: <http://fedora.info/definitions/v4/indexing#>
    PREFIX custom: <http://namespaces.info/custom#>
    DELETE {
    }
    INSERT {
    <> indexing:hasIndexingTransformation "default";
    rdf:type indexing:Indexable;
    dc:title "title3";
    custom:ownerId "owner6";
    dc:identifier "test:10";
    }
    WHERE { 
    <>
    custom:ownerId "owner1";
    }

【问题讨论】:

标签: sparql


【解决方案1】:

SPARQL 建议被分成单独的文档,请参阅来自 W3C 的 SPARQL 1.1 Overview。

WHERE 子句可以为空,但也可以查看 INSERT DATA,它采用一组三元组规范(不是模式 - 没有变量)并插入它们。在这种情况下不需要 WHERE 子句 id。使用DELETE DATA 删除三重规范也是如此。

【讨论】:

  • 嗨,一个简单的问题,那么插入和插入数据都一样吗?而且,我也希望你能帮助解决这个问题:stackoverflow.com/questions/36424525/…
  • 不,insert 将使用变量(即?value),而insert data 只能使用三重规范(即 URI 和文字)。
  • 我猜,可能是语法发生了变化。我不能使用“@en”,但仅使用查询词就可以识别记录
猜你喜欢
  • 2020-07-03
  • 2016-06-03
  • 1970-01-01
  • 1970-01-01
  • 2018-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多