Neo4j Extensions
================
Neo4j can be extended by writing custom code which can be invoked directly from Cypher,
as described in the developer manual at https://neo4j.com/docs/developer-manual/current/extending-neo4j/
These extensions are user defined procedures, user defined functions or security plugins. They are written in Java
and compiled into jar files. They can be deployed to the database by dropping a JAR file into the $NEO4J_HOME/plugins
directory on each standalone or clustered server. The database must be re-started on each server to pick up new procedures.
Configuring Procedures
----------------------
There are two configuration settings in $NEO4J_HOME/conf/neoj4.conf that are relevant when deploying procedures
or user defined functions:
* dbms.security.procedures.unrestricted
* dbms.security.procedures.allowlist
These are described in more detail in the documentation at
https://neo4j.com/docs/operations-manual/current/security/securing-extensions/
Sandboxing
----------
Neo4j provides sandboxing to ensure that procedures do not inadvertently use insecure APIs. For example, when writing
custom code it is possible to access Neo4j APIs that are not publicly supported, and these internal APIs are subject
to change, without notice. Additionally, their use comes with the risk of performing insecure actions. The sandboxing
functionality limits the use of extensions to publicly supported APIs, which exclusively contain safe operations,
or contain security checks.
For example:
# Example sandboxing
dbms.security.procedures.unrestricted=my.extensions.example,my.procedures.*
White listing
-------------
White listing can be used to allow loading only a few extensions from a larger library.
The configuration setting dbms.security.procedures.allowlist is used to name certain procedures that should be
available from a library. It defines a comma-separated list of procedures that are to be loaded.
The list may contain both fully-qualified procedure names, and partial names with the wildcard *.
For example, to only load a subset of the APOC library of procedures:
# Example allow listing
dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*
neo4j-community-4.4.32-windows.zip
需积分: 0 156 浏览量
更新于2024-12-13
收藏 112.66MB ZIP 举报
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。
Neo4j是一种高性能的图形数据库,它具有以下几个特点:
1. 采用图的数据模型:Neo4j将数据以图的形式存储,这意味着数据和关系被存储为节点(node)和边(edge)。每一个节点可以包含若干属性,边则表示节点之间的关系。这种数据模型非常适合于处理复杂的关联数据。
2. 嵌入式数据库:Neo4j可以作为应用程序的一部分嵌入到应用中运行,这使得它在不需要外部数据库服务器的情况下,可以直接在应用程序内部操作数据。
3. 基于磁盘的存储:尽管Neo4j是嵌入式的,但它将数据存储在磁盘上,这使得即使在应用程序关闭后,数据依然可以持久化保存。
4. 完全事务特性:Neo4j支持ACID(原子性、一致性、隔离性、持久性)事务特性,这保证了数据操作的可靠性和数据的完整性。
5. 高性能:Neo4j优化了对图数据的操作,能够在数据关系密集的应用场景中提供高效率的查询和更新性能。
6. Java持久化引擎:Neo4j使用Java编写,提供了对Java应用的友好支持,并且作为持久化引擎,能够处理大量并发的数据操作请求。
由于Neo4j以图形的方式来组织数据,它对于那些数据之间关系密切的应用具有很大优势,比如社交网络、推荐系统、欺诈检测和知识图谱等。它的查询语言Cypher提供了一种直观的方式来查询和操作图形数据结构。
Neo4j社区版是开源版本,适合个人使用和学习,以及小型项目或者需要开源解决方案的商业项目。它包含了核心的数据库功能,并且是免费的。社区版通常作为学习和开发阶段的工具,当需要更多企业级特性如高可用、大数据量处理和专业技术支持时,则可能会考虑使用Neo4j的企业版。
Neo4j的高性能、易用的图数据模型以及事务特性使其成为处理复杂关系数据的理想选择,而社区版的推出,进一步降低了人们尝试和使用该技术的门槛。

Mayjean520
- 粉丝: 0
最新资源
- 学校财务网络会计归档分析【精品发布】.doc
- 智慧城市树木二维码智能管理系统概述.doc
- 天体光谱数据挖掘技术.ppt
- 计算机兴趣小组策划书格式.docx
- 计算机科学与技术开题报告.doc
- 网络营销之道seo培训教程.pptx
- 新人教A版必修三算法与程序框图练习题.doc
- 网络营销(全).ppt
- 完美版资料嵌入式系统设计与实现试验教学大纲专业方向课.doc
- 专业计算机网络与通信实验指导书.doc
- 前端开发人员年终总结.docx
- 2023年信息奥赛题库编程基础之算术表达式与顺序执行.doc
- 我国互联网金融的发展及其展望.pptx
- 项目管理-阶段练习.docx
- 课程设计二级圆柱齿轮减速器设计说明书CAD图.doc
- (源码)基于Python和PyTorch的个贷违约预测系统.zip