📜  Neo4j面试问题

📅  最后修改于: 2020-11-23 09:18:47             🧑  作者: Mango

Neo4J面试题

下面列出了最受欢迎的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运营
  • 实时推荐引擎
  • 数据管理
  • 身份和访问管理
  • 社交网络
  • 隐私和风险管理

7)解释RDBMS和图形数据库之间的区别?

RDBMS和Graph Database都使用不同的方法来存储和检索数据。下表指定了它们之间的区别:

RDBMS Graph Database
Tables Graphs
Rows Nodes
Columns and Data Properties and its Values
Constraints Relationships
Joins Traversal

8)Neo4J中的节点,关系,属性和标签等构建块的作用是什么?

构建块的作用:

  • 节点:它们是等同于表中行的实体。
  • 关系:它连接实体和结构域。
  • 属性:它包含元数据和属性。
  • 标签:按角色分组节点。

9)哪些流行的图形数据库是哪些?

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
Neo4J contains vertices and edges. Each vertex or node represent a key value or attribute. In MySQL, attributes are appended in plain table format.
In Neo4J, it is possible to store dynamic content like images, videos, audio etc. In relational databases, such as MySQL, it is difficult to store videos, audios and images.
It provides the capability of deep search into the database without affecting the performance along with efficient timing. It takes longer time for database search and also inconvenient compared to Neo4J.
In Neo4j, two or more objects can be related by making relationship between them. It lacks relationship and very difficult to use them for connected graphs and data.

13)什么是CQL?如何在Neo4J中执行CQL命令?

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命令:

  • 创建
  • 比赛
  • 删除
  • 合并
  • 去掉
  • 退货等

19)什么是MATCH命令? Neo4J在哪里使用?

MATCH命令与RETURN或UPDATE子句一起使用。不能单独使用,否则会出错。

句法:

MATCH 
(
   :
)

MATCH命令不能单独用于从数据库中获取数据,否则它将显示无效的语法错误。

20)Neo4J中SET子句的用途是什么?

SET子句用于向现有节点或关系添加新属性。

21)将Neo4J图分割成多个服务器是否容易?

将Neo4J图分割成多个服务器非常困难。