本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon Neptune 中使用 SPARQL 1.1 Graph Store HTTP 协议 (GSP)
在 SPARQL1.1 Graph Store HTTP 协议
graph-store 协议 (GSP) 提供了一种无需编写复杂SPARQL查询即可操作整个图形的便捷方式。
截至版本:1.0.5.0(2021 年 7 月 27 日),Neptune 完全支持该协议。
图形存储协议 (GSP) 的端点是:
https://
your-neptune-cluster
:port
/sparql/gsp/
要使用访问默认图表GSP,请使用:
https://
your-neptune-cluster
:port
/sparql/gsp/?default
要使用访问命名图表GSP,请使用:
https://
your-neptune-cluster
:port
/sparql/gsp/?graph=named-graph-URI
Neptun GSP e 实现的特殊细节
Neptune完全实现了 W3C建议,该建议定义
其中一种情况是,PUT
或POST
请求在请求正文中指定了一个或多个与请求指定的图形不同的已命名图表URL。只有当请求正文RDF格式支持命名图时,才会发生这种情况,例如使用Content-Type: application/n-quads
或Content-Type:
application/trig
。
在这种情况下,Neptune 会添加或更新正文中存在的所有命名图表,以及中指定的命名图。URL
例如,假设您从一个空数据库开始,您发送 PUT
请求将选票更新插入到三个图形中。其中一个图形名为 urn:votes
,它包含所有选举年份的所有选票。另外两个名为 urn:votes:2005
和 urn:votes:2019
的图形包含特定选举年份的选票。请求及其有效负载如下所示:
PUT "http://
your-Neptune-cluster
:port
/sparql/gsp/?graph=urn:votes" Host: example.com Content-Type: application/n-quads PAYLOAD: <urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes:2005> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes:2005> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes:2019>
请求执行后,数据库中的数据如下所示:
<urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes:2005> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes:2005> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes>
另一种模棱两可的情况是,在请求URL本身中指定了多个图形,使用PUT
POST
、GET
或DELETE
中的任何一个。例如:
POST "http://
your-Neptune-cluster
:port
/sparql/gsp/?graph=urn:votes:2005&graph=urn:votes:2019"
或者:
GET "http://
your-Neptune-cluster
:port
/sparql/gsp/?default&graph=urn:votes:2019"
在这种情况下,Neptune 会返回 HTTP 400,并显示一条消息,表明请求中只能指定一个图表。URL