首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Neptune的SPARQL查询中使用限制

在Neptune的SPARQL查询中使用限制
EN

Stack Overflow用户
提问于 2022-01-05 17:08:15
回答 1查看 93关注 0票数 0

我试图在中运行这个查询:

代码语言:javascript
复制
Delete{?s <http://mydomain#aresource> ?o.
          } 
WHERE {
    
    GRAPH ?g {
    
        ?s <http://mydomain#aresource> ?o.
        
    } 
} limit 1

但我发现了一个错误:

代码语言:javascript
复制
"code": "MalformedQueryException",
"detailedMessage": "Malformed query: Encountered \" \"limit\" \"limit \"\" at line ..., column ....\nWas expecting one of:\n    <EOF> \n    \";\" ...\n    "

当我取消限制时,查询就能工作了。这是否意味着海王星删除不支持限制,还是我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-05 18:15:50

我不是解释SPARQL语法的专家,但我不相信对DELETE WHERE子句的限制是有效的。但是,下面的查询将实现我认为您正在寻找的.

代码语言:javascript
复制
DELETE {
    ?s <http://mydomain#aresource> ?o.
} 
WHERE {    
    SELECT ?s ?o WHERE {
        GRAPH ?g {
            ?s <http://mydomain#aresource> ?o.        
        } 
    } LIMIT 1
} 

为了证明这一点,我在海王星中运行了以下命令序列。

第一,

代码语言:javascript
复制
INSERT DATA {
<http://test/a> <http://mydomain#aresource> <http://test/b> .
<http://test/c> <http://mydomain#aresource> <http://test/d> .
<http://test/e> <http://mydomain#aresource> <http://test/f> .
}

然后删除上面的哪个查询。最后,

代码语言:javascript
复制
SELECT ?s ?o WHERE {?s <http://mydomain#aresource> ?o.}

并收到输出

代码语言:javascript
复制
{
  "head": {
    "vars": [
      "s",
      "o"
    ]
  },
  "results": {
    "bindings": [
      {
        "s": {
          "type": "uri",
          "value": "http://test/c"
        },
        "o": {
          "type": "uri",
          "value": "http://test/d"
        }
      },
      {
        "s": {
          "type": "uri",
          "value": "http://test/e"
        },
        "o": {
          "type": "uri",
          "value": "http://test/f"
        }
      }
    ]
  }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70596828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档