首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Sparql查询插入到Ontotext GraphDB中

将Sparql查询插入到Ontotext GraphDB中
EN

Stack Overflow用户
提问于 2016-03-09 11:04:15
回答 2查看 1.2K关注 0票数 0

我使用Ontotext GraphDB来存储语义数据。

GraphDB允许存储/保存作为web服务公开的sparql查询。但是,我希望通过HTTP请求存储/保存sparql查询。下面是我的查询,查询的名称是Query-1

代码语言:javascript
复制
let $Query := fn:concat('PREFIX dc: <http://insert/>
                         INSERT DATA
                         {
                             dc:a@gmail.com dc:played dc:1234 .
                         }
                       ')
let $EncodeUri  := fn:encode-for-uri($Query)

有人能帮我写HTTP请求命令来保存GraphDB中的查询吗?我只想使用xdmp:http-post()

为了获得查询结果,我使用了工作良好的xdmp:http-get('http://localhost:8080//rest/sparql/saved-queries/Query-2')

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-09 13:56:43

您可以执行POST请求来存储查询。下面是使用curl的示例:

代码语言:javascript
复制
curl -X POST http://localhost:8080/rest/sparql/saved-queries\
 -H 'Content-Type:application/json'\
 -d '{
     "body": "select * { ?s ?p ?o }",
     "name": "Query-2"
 }'

您还可以使用GraphDB工作台找到关于REST的更多详细信息(管理-> REST文档)

票数 3
EN

Stack Overflow用户

发布于 2016-04-07 05:37:14

您似乎希望通过MarkLogic创建并接受Sparql查询。您可以使用以下代码来实现它:

代码语言:javascript
复制
import module namespace  sem    = "http://marklogic.com/semantics"          at "/MarkLogic/semantics.xqy";

let $Query := 'select * { ?s ?p ?o }'
let $QueryName := 'abcdef'
let $EncodesQuery  := fn:encode-for-uri($Query)
let $QData := fn:concat('{
                          "body": "',$Query,'",
                          "name": "',$QueryName,'"
                        }')
return
  xdmp:http-post(concat('http://localhost:9080/rest/sparql/saved-queries'),
              <options xmlns="xdmp:http">
                <data>{$QData}</data>
                <headers>
                  <content-type>application/json</content-type>
                </headers>
              </options>
              )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35889779

复制
相关文章

相似问题

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