本次选型调研在neo4j,cayley以及datafocus三种可视化工具中展开。
一、cayley及datafocus的调研
1.datafocus
datafocus是首个采用自然语言进行数据分析的工具,是国内第一个采用搜索的方式进行数据分析的工具,使用方式如同谷歌搜索一样,只需要在输入框内输入想要知道的信息,系统实时地返回结果,并且智能地适配图表。
datafoccus的方便性得益于其商业化的研发方向。由于本身为商务用软件,datafocus可视化形式为图表。并不适合知识图谱的可视化。
(图为datafocus官网中针对制造业提供的可视化类型)
2.cayley
cayley为谷歌开发的开源图数据库,由go语言编写。目前github上提供的安装包均要求Linux环境。
经调研后得知,cayley无法对“边”进行赋值,因而不太适用于知识图谱的可视化。
二、neo4j的调研
1.运行环境:
neo4j要求电脑配置JDK环境。根据需求的不同,neo4j分为商业版,社区版以及桌面版。社区版遵循http协议,通过网页进行操作。
2.可视化模式
neo4j的可视化呈现“思维导图”的形式,有“节点”与“边”两个元素,并均接受赋值,因此,在graph中,两概念间的关系也被具体地描述。这就满足了知识图谱的要求。
3.语言
neo4j(网页版)的查询语言为Cypher(https://neo4j.com/docs/developer-manual/3.4/cypher/)
neo4j官方提供的客户端驱动支持以下5种语言:
- Java
- JavaScript
- .Net
- Python
- Go
示例(Cypher):
CREATE (a:Person { name:“Tom Hanks”,
born:1956 })-[r:ACTED_IN { roles: [“Forrest”]}]->(m:Movie { title:“Forrest Gump”,released:1994 })
CREATE (d:Person { name:“Robert Zemeckis”, born:1951 })-[:DIRECTED]->(m)
RETURN a,d,r,m
–谁导演了 Forrest Gump
MATCH (movie {title: “Forrest Gump”})<-[:DIRECTED]-(directors) RETURN directors.name
Python驱动(py2neo):