文章图片
下面列出了最常见的Neo4J面试问题和答案。
1)解释Neo4j。
Neo4J是NoSQL, 无模式, 开源, 流行的图形数据库。它是世界领先的开源图形数据库。
2)为什么Neo4J被称为图数据库?
Neo4J之所以称为图数据库, 是因为它在图而不是表中存储数据结构。
3)Neo4G用哪种语言编写?
Neo4J是用Java语言编写和实现的。
4)Neo4J使用哪种查询语言?
Neo4J使用Cypher Query Language(CQL)。
5)Neo4J的第一个版本是什么?何时发布?
Neo4J的第一个版本是Neo4j 1.0, 它于2010年2月发布。
6)为什么使用Neo4J?
Neo4J主要用于:
- 实时数据分析
- 知识图
- 网络和IT运营
- 实时推荐引擎
- 数据管理
- 身份和访问管理
- 社交网络
- 隐私和风险管理
RDBMS和Graph Database都使用不同的方法来存储和检索数据。下表指定了它们之间的区别:
RDBMS | 图数据库 |
---|---|
Graphs | |
Nodes | |
属性及其值 | |
Relationships | |
Traversal |
构建块的作用:
- 节点:它们是等同于表中行的实体。
- 关系:它连接实体和结构域。
- 属性:它包含元数据和属性。
- 标签:按角色分组节点。
Neo4J是一个非常受欢迎的图形数据库。其他图数据库是Oracle NoSQL数据库, OrientDB, HypherGraphDB, GraphBase, InfiniteGraph, AllegroGraph等。
10)解释Neo4J的一些功能。
Neo4J支持UNIQUE约束。
- Neo4J将本机图形存储与本机GPE(图形处理引擎)结合使用。
- Neo4J支持将查询数据导出为JSON和XLS格式。
- Neo4J提供了REST API, 可通过Java, Spring, Scala等任何编程语言进行访问。
- Neo4J提供了Java脚本, 可以由任何UI MVC框架(如Node JS)访问。
- Neo4J支持两种Java API:Cypher API和Native Java API, 用于开发Java应用程序。
11)如何在Neo4J中存储文件?
Neo4J将图形数据存储在许多不同的存储文件中, 每个存储文件都包含图形特定部分的数据, 例如关系, 节点, 属性等。
12)Neo4J Graph Database和MySQL之间的区别是什么?
Neo4J和MySQL之间的区别:
Neo4J | MySQL |
---|---|
在MySQL中, 属性以纯表格式附加。 | |
在关系数据库(例如MySQL)中, 很难存储视频, 音频和图像。 | |
与Neo4J相比, 数据库搜索需要更长的时间, 并且不方便。 | |
它缺乏关系, 很难将它们用于连接的图形和数据。 |
CQL代表Cypher Query Language。 ” $” 提示用于执行Neo4j中的所有CQL命令。
14)什么是Neo4J中的对象缓存?
在Neo4J中, 对象缓存用于存储单个节点, 它们之间的关系以及它们的属性, 其形式经过优化, 可以快速遍历图形。从对象缓存读取的速度比从文件缓冲区缓存读取的速度快5到10倍。
15)Neo4J使用哪种查询语言?
Neo4J使用Cypher Query Language(CQL)。
16)如何删除Neo4J中的数据库?
在Neo4J中删除命令:
删除单个节点:
MATCH (n:Person { name: 'UNKNOWN' })
DELETE n
删除所有节点和关系:
MATCH (n)
DETACH DELETE n
删除具有其关系的节点:
MATCH (n { name: 'Andres' })
DETACH DELETE n
仅删除关系:
MATCH (n { name: 'Andres' })-[r:KNOWS]->
()
DELETE r
17)是否可以通过互联网查询Neo4j?
由于Neo4j具有RESTful API, 因此你可以通过Web查询, 也可以在本地运行它。它运行在Heroku或Cloud中。
18)Neo4J CQL命令有什么不同?
遵循不同的Neo4J CQL命令:
- 创建
- 比赛
- 删除
- 去
- 组
- 去掉
- 退货等
MATCH命令与RETURN或UPDATE子句一起使用。不能单独使用, 否则会出错。
语法
MATCH
(
<
node-name>
:<
label-name>
)
MATCH命令不能单独用于从数据库中获取数据, 否则它将显示无效的语法错误。
20)Neo4J中SET子句的用途是什么?
SET子句用于向现有节点或关系添加新属性。
21)将Neo4J图分割成多个服务器是否容易?
【不容错过的Neo4J面试题和答案推荐】将Neo4J图分割成多个服务器非常困难。
Java OOP面试问题 |
Java字符串和异常问题 |
JDBC面试问题 |
JSP面试问题 |
休眠面试问题 |
SQL面试题 |
Android面试题 |
MySQL面试问题 |
行数
列和数据
约束条件
加入
Neo4J包含顶点和边。每个顶点或节点代表一个键值或属性。
在Neo4J中, 可以存储动态内容, 例如图像, 视频, 音频等。
它提供了对数据库进行深度搜索的能力, 而不会影响性能以及有效的计时。
在Neo4j中, 可以通过在两个或多个对象之间建立关系来使其相互关联。
Java基础面试问题
Java多线程问题
Java Collection面试题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题
推荐阅读
- 精华!Oracle面试题和答案全集
- 史上最全的MySQL面试题和答案大汇总
- MongoDB面试题和答案全集解析
- Java面试(JOGL面试题和答案合集)
- jBPM面试题和答案详细图解
- Java调试(JDB面试题和答案合集)
- Jenkins面试题和答案合集详解
- 数据库面试(DBMS面试题和答案合集)
- Java面试(GWT面试题和答案合集)