构建图谱
本协议支持所有符合RDF规范的图数据库。
将上一章构建出来的RDF数据导入图数据库,即可得到一个简单的社交图。

使用Neptune
Amazon Neptune 是一项快速、可扩展的图形数据库服务。Neptune 可高效存储和导航高度互连的数据。它的查询处理引擎针对领先的图形查询语言 Apache TinkerPop™ Gremlin 和 W3C 的 RDF SPARQL 进行了优化。Neptune 通过这些图形框架开放和标准的 API 实现了高性能。
借助Amazon Neptune我们可以把用户在区块链上的行为数据,构建出一个社交图谱。
具体步骤:
在aws控制台启动一个Neptune实例
将上一章构建的sparql拼接成Neptune插入语句:
调用Neptune服务接口保存RDF数据
至此,我们已经将Alice follow Bob的数据索引至图数据库了,通过调用Neptune服务接口查询数据:
使用Jena
为了方便演示,我们使用docker来启动一个Jena服务:
启动成功后访问 http://localhost:3030/,账户:admin/pw123。
首先创建一个数据集


然后将上一步的数据导入图数据库


最后切换至Query标签页,查询一下Alice关注了哪些人:


即可查询到:Alice的地址0x0109c8ee3151bde7b6b5d9f37e9d2c4bc16930fe follow了Bob的地址0x6247123ec0fe0d25feb811e3c4d4a760c1f2e63e。
使用Neo4j
为了方便演示,我们使用docker来启动一个Neo4j服务:
安装插件以支持RDF
配置插件
编辑conf/neo4j.conf, 追加配置dbms.unmanaged_extension_classes=n10s.endpoint=/rdf。
配置完成后重启Neo4j
Open Neo4j Browser: http://localhost:7474/browser/ 初始账号:neo4j/neo4j
配置Graph
在Neo4j browser输入框分别执行以下命令:
导入数据
在Neo4j browser中执行以导入数据:
查询
在Neo4j browser中查询:

Last updated