sparql-query和sparql-update都不一样?

时间:2016-04-05 12:50:10

标签: sparql

我发现这是两种不同的查询语言: 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";
    }

1 个答案:

答案 0 :(得分:1)

SPARQL建议分为单独的文档,请参阅W3C的SPARQL 1.1 Overview

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