(1)知识图谱入门|neo4j安装与介绍

本文详细介绍了Neo4j图数据库的安装步骤,包括通过neo4j.batconsole命令行启动。接着讲解了图数据库的基础概念,如节点、标签和关系,并阐述了它们在数据存储和组织中的作用。Cypher语言作为查询图数据的主要工具,文中通过实例展示了CREATE、MATCH等关键字的用法。此外,还提到了如何创建约束、索引以及删除操作。最后,讨论了如何处理忘记密码的情况和开启远程访问的配置步骤。
摘要由CSDN通过智能技术生成

一.安装

可以详细参考:Neo4j下载安装以及Neo4j浏览器详细说明
打开neo4j的方式,在命令行输入 neo4j.bat console
(以下内容来自neo4j的介绍内容,在这里整理出来)
桌面版可以看图数据库初探——2. neo4j安装和简单使用

二.概念指导

1.基础概念

  • Nodes :represent entities of a domain.
  • Labels: shape the domain by grouping nodes into sets. Relationships - connect two nodes.
  • Properties:named values that add qualities to nodes and
    relationships.

其中:

  • Nodes often represents entities(实体) or discrete objects(离散对象) that can be classified with zero or more labels.
  • Data is stored as properties of the nodes.(数据作为属性存储在对象中)
  • Properties are simple key-value pairs.(属性是简单键值对)

2.标签-对节点分类

Nodes can be grouped together by applying a Label to each member. In this social graph, you label each node that represents a Person.

  • A node can have zero or more labels.
  • Labels are used to classify nodes.
  • 相同标签的节点可以有不同的属性值

3.关系

在这里插入图片描述
代表Emil knows Johan and Ian.

1.概念

  • Relationships always have a direction.
  • Relationships always have a type.
  • Relationships form patterns of data, the structure of the graph.(关系形成数据的模式,即图表的结构。)

2.关系的属性

  • 关系也可以有属性来描述
  • 统一个type可以有不同的属性

三.cypher语言简单介绍

详细可以参考Neo4j 第三篇:Cypher查询入门

1.CREATE

CREATE (ee:Person {name: 'Emil', from: 'Sweden', kloutScore: 99})
  • CREATE :creates the node.
  • () :括号代表节点
  • ee:Person : ee 是节点变量名 ,Person 是节点标签
  • {} :包含描述节点的属性

2.MATECH

MATCH (ee:Person) WHERE ee.name = 'Emil' RETURN ee;
  • MATCH :specifies a pattern of nodes and relationships.
  • (ee:Person) :将标签是Person的节点赋值给ee
  • WHERE :后面写查询条件(从ee中选出符合查询条件的节点).
  • ee.name = ‘Emil’ :选出属性name=EMil的节点
MATCH (ee:Person)-[:KNOWS]-(friends)
WHERE ee.name = 'Emil' RETURN ee, friends
  • MATCH: describes what nodes will be retrieved based upon the pattern.
    (ee) :is the node reference that will be returned based upon the WHERE clause.(ee代表:带Person标签且where条件中筛选出来的节点)
  • -[:KNOWS]-: matches the KNOWS relationships (in either direction) from ee.(在从ee的全部关系匹配KOWNS关系)
    (friends): represents the nodes that are Emil’s friends.
    RETURN: returns the node, referenced here by (ee), and the related (friends) nodes found.

代码示例

MATCH (ee:Person) WHERE ee.name = 'Emil'
CREATE (js:Person { name: 'Johan', from: 'Sweden', learn: 'surfing' }),
(ir:Person { name: 'Ian', from: 'England', title: 'author' }),
(rvb:Person { name: 'Rik', from: 'Belgium', pet: 'Orval' }),
(ally:Person { name: 'Allison', from: 'California', hobby: 'surfing' }),
(ee)-[:KNOWS {since: 2001}]->(js),(ee)-[:KNOWS {rating: 5}]->(ir),
(js)-[:KNOWS]->(ir),(js)-[:KNOWS]->(rvb),
(ir)-[:KNOWS]->(js),(ir)-[:KNOWS]->(ally),
(rvb)-[:KNOWS]->(ally)

一些示例的查询语句

#Find the actor named "Tom Hanks":
MATCH (tom:Person {name: "Tom Hanks"}) RETURN tom
#Find the movie with title "Cloud Atlas":
MATCH (cloudAtlas:Movie {title: "Cloud Atlas"}) RETURN cloudAtlas
#Find 10 people and return their names:
MATCH (people:Person) RETURN people.name LIMIT 10
#Find movies released in the 1990s and return their titles.
MATCH (nineties:Movie) WHERE nineties.released >= 1990 AND nineties.released < 2000 RETURN nineties.title
#What movies did Tom Hanks act in?
MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(tomHanksMovies) RETURN tom,tomHanksMovies
#Who directed "Cloud Atlas"?
MATCH (cloudAtlas:Movie {title: "Cloud Atlas"})<-[:DIRECTED]-(directors) RETURN directors.name
#Who were Tom Hanks' co-actors?
MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors) RETURN DISTINCT coActors.name
#How people are related to "Cloud Atlas"?
MATCH (people:Person)-[relatedTo]-(:Movie {title: "Cloud Atlas"}) RETURN people.name, Type(relatedTo), relatedTo.roles

3.创建约束(constraint)

创建唯一的节点属性约束,以确保属性值对于具有特定标签的所有节点都是唯一的。添加唯一约束,隐式地在该属性上添加索引。
(movie是个标签,title是个属性)

CREATE CONSTRAINT ON (n:Movie) ASSERT (n.title) IS UNIQUE

4.创建索引(index nodes)

为具有给定标签的所有节点创建一个或多个属性的索引。索引用于提高搜索性能。

CREATE INDEX FOR (m:Movie) ON (m.released)

5.删除

NOTE: Nodes cannot be deleted if they have relationships, so you need to detach the nodes to delete them.

#Delete all Movie and Person nodes, and their relationships.
MATCH (n) DETACH DELETE n
#Verify that the Movie Graph has been removed.
MATCH (n) RETURN n

四.忘记密码

才过了一天就忘记了用户名和密码。。。。
删除auth文件,再重新启动,输入默认密码neo4j后,就会跳转到让重置密码
在这里插入图片描述

五.远程访问

1.修改配置文件

修改conf文件中的

在这里插入图片描述
在这里插入图片描述

2.开放防火前入站规则

可以参考Windows系统如何在防火墙里开放端口
因为我只修改了7474端口,所以我开放了7474.

3.访问X.X.X.X:7474

(其中X.X.X.X为本地计算机IP)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值