Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 通过REST HTTP使用SPARQL查询命名图_Amazon Web Services_Sparql_Gremlin_Amazon Neptune - Fatal编程技术网

Amazon web services 通过REST HTTP使用SPARQL查询命名图

Amazon web services 通过REST HTTP使用SPARQL查询命名图,amazon-web-services,sparql,gremlin,amazon-neptune,Amazon Web Services,Sparql,Gremlin,Amazon Neptune,我能够通过HTTP-REST成功地填充命名图,如下所示 其中data.json文件为: { "source": "s3://my-bucket-name/dir/", "format": "csv", "iamRoleArn": "arn:aws:iam::xxxxxxxxxx:role/co-neptune-to-s3-access-role-dev-myname&quo

我能够通过HTTP-REST成功地填充命名图,如下所示

其中data.json文件为:

{
  "source": "s3://my-bucket-name/dir/",
  "format": "csv",
  "iamRoleArn": "arn:aws:iam::xxxxxxxxxx:role/co-neptune-to-s3-access-role-dev-myname",
  "mode": "AUTO",
  "region": "us-east-1",
  "failOnError": "FALSE",
  "parallelism": "OVERSUBSCRIBE",
  "parserConfiguration": {
    "baseUri": "http://aws.amazon.com/neptune/default",
    "namedGraphUri": "http://aws.amazon.com/account-123456789012-temp"
  },
  "updateSingleCardinalityProperties": "FALSE"
}
所以我希望我的数据存储在名为
http://aws.amazon.com/account-123456789012-temp
包含来自源S3 bucket的内容
S3://my bucket name/dir/

我可以在使用httprestGremlin进行查询时看到这些数据,如下所述

但是,当使用此处描述的SPARQL进行查询时,我在海王星中看不到任何数据:

$ curl -X POST --data-binary 'query=select ?s ?p ?o where {?s ?p ?o} limit 10' https://co-neptune-db-cluster-myname.cluster-xxxxxxxxxx.us-east-1.neptune.amazonaws.com:8182/sparql

如何使用SPARQL查询相同的数据?考虑到我将有不同的命名图,所以需要在我的请求中设置特定图的名称。

今天,Neptune不支持属性图和RDF之间的互操作性。在将数据加载到集群之前,需要选择要使用的框架。如果通过CSV加载数据,则只能在属性图模型中使用(使用Gremlin进行查询)。如果使用一种RDF文件格式(turtle、rdfxml、ntriples或nquads)加载数据,则只能通过SPARQL进行查询

Neptune确实支持在同一集群中存储两个模型的数据,但是您需要有效地加载两个数据副本(一个在Property Graph中,另一个在RDF中)

此外,仅当批量加载一种RDF文件格式时,才支持批量加载程序的
parserConfiguration
参数。它对加载属性图(CSV)数据没有影响

提供了一个实用程序,用于将属性图CSV文件转换为RDF nquads文件[1]

[1]

curl -X POST -d '{"gremlin":"g.V().limit(10)"}' https://co-neptune-db-cluster-myname.cluster-xxxxxxxxxx.us-east-1.neptune.amazonaws.com:8182?gremlin
$ curl -X POST --data-binary 'query=select ?s ?p ?o where {?s ?p ?o} limit 10' https://co-neptune-db-cluster-myname.cluster-xxxxxxxxxx.us-east-1.neptune.amazonaws.com:8182/sparql