Neo4j 知识图谱系列(一)

最近在研究知识图谱,目前市场上使用使用比较多的图谱包括Neo4j,Arango等。之前在一个商用知识图谱上用过Arango,感觉挺好。这次打算换一下,因为neo4j有免费版本,所以可以有机会自己好好研究下Neo4j的具体应用场景,

一、安装免费版本

       整个安装过程比较简单,先在Neo4j官网下载community免费版本。安装的过程需要在CMD环境下,比较简答,网上能搜到很多教程。没有出现太多问题。唯一的一个就是目前最新版本的Neo4j-community需要Java11环境支持。这个也不难,下载安装、配置好path就行。

       我在win和mac两台电脑上都装了,对比下来,感觉mac更方便一些,不需要配置太多乱七八糟的路径。搞定后在命令终端就可以启动了,如下图:

命令很简单,输入neo4j start, 就可以了。

启动成功后,在浏览器中输入localhost:7474,初始用户名、密码均为neo4j,就可以登录了。

界面比较简单,使用cypher简单创建一些元数据:

这个界面颜色有点清淡,目前还不知道怎么调整,不过这不重要。

二、系统整好了,可以开始实践一下

       1、CQL的语法简单了解:CQL与SQL有一定的相似之处,而且都比较通俗易懂。其主要的一些关键命令包括:CREATE、MATCH、RETURN、DELETE、REMOVE、ORDERBY、SET, 主要函数有STRING、AGGRAGTION、RELATIONSHIP等。

             使用命令Create创建持卡人信息、信用卡信息:

CREATE (e:Customer{id:"10001",name:"ABC",dob:"01/01/1988"})
CREATE(cc:CreditCard{id:"50001",number:"123456789",cvv:"888",expiredate:"20/17"})

        构建承购后可以使用MATCH....RETURN组合进行查询:

MATCH(e:Customer)
RETURN e.id,e.name,e.dob

也可以使用MATCH(cc:CreditCard) RETURN CC.id, CC.number, CC.cvv, CC.expiredate 查询卡片信息

    2、Neo4j图数据库遵循属性图模式来存储和管理数据,因此关系应该是有方向的,主要有单向关系和双向关系两种。基于上面创立的节点,进行关系的建立:

          MATCH(e:Customer),(cc:CreditCard)
          CREATE(e)-[r:Do_Shopping_With]->(cc)

           在这里,关系的标签为“r”,关系的名称为“Do_Shopping_With”,方向的标识是“->” ,很容易理解:e使用cc进行购物消费的关系。使用语句查询该关系MATCH (e)-[r]-(cc)  return e: 尝试使用语句MATCH(e)-[r:Do_Shopping_With]->(cc) RETURN r进行查询,同样成功,但是没有图展示,不知道为何。

也可以同时创建多个实体:

CREATE(e:customer1:customer2:customer3:customer4)
CREATE(cc:CreditCard1:CreditCard2:CreditCard3:CreditCard4)

3、where语句:主要用来过滤MATCH查询的结果

   创建一个示例:

CREATE(dept:DEPT{deptno:10,dname:"ACCOUNTING",Location:"Hyderabad"})
CREATE(emp:Employee{id:123,name:"MAXMA",Salary:40000,depto:10})

4、AGGREGATION函数:聚合函数:

创建示例并查询:

MATCH (emp:Employee)
RETURN emp.id,emp.name, emp.Salary,emp.depto

MATCH(emp:Employee) RETURN COUNT(*)

MATCH(e:Employee) return MAX(emp.Salary), MIN(emp.Salary)

基本功能主要就是这些,接下来主要基于某些场景创建图和网络,并基于创建的网络进行一些有价值的分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值