Neo4j:图数据库使用入门

news2024/12/27 5:13:10

文章目录

  • 一、Neo4j安装
    • 1、windows安装
      • (1)准备环境
      • (2)下载
      • (3)解压
      • (4)运行
      • (5)基本使用
    • 2、docker安装
  • 二、CQL语句
    • 1、CQL简介
    • 2、CREATE 命令,创建节点、关系、属性
    • 3、MATCH 命令,查询
    • 4、return语句
    • 5、where子句
    • 6、创建关系
    • 7、delete删除节点和关系
    • 8、remove删除标签和属性
    • 9、set添加、更新属性
    • 10、ORDER BY排序
    • 11、UNION合并
    • 12、LIMIT和SKIP子句
    • 13、MERGE合并
    • 14、NULL值
    • 15、IN操作符
    • 16、INDEX索引
    • 17、UNIQUE唯一约束
    • 18、DISTINCT去重
  • 三、函数
    • 1、字符串函数
    • 2、AGGREGATION聚合
    • 3、关系函数
  • 四、数据备份与恢复
    • 1、备份
    • 2、数据恢复
  • 五、springboot使用neo4j
    • 1、添加依赖
    • 2、配置文件
    • 3、参考
  • 附录:neo4j.conf汉化版
  • 参考资料

一、Neo4j安装

1、windows安装

(1)准备环境

最新版应该是需要jdk17环境。

(2)下载

下载地址:https://neo4j.com/deployment-center/
注意,这个地址恐怕正常访问是访问不了的。。。

社区版是免费的,可以选择windows、linux、mac等操作系统。
此处我们使用windows系统进行测试。
在这里插入图片描述

(3)解压

在这里插入图片描述

(4)运行

在这里插入图片描述
直接执行neo4j.bat,会有命令提示
在这里插入图片描述

# 运行
.\neo4j.bat console

在这里插入图片描述
访问http://localhost:7474/
第一次进入页面,需要输入用户名密码neo4j/neo4j,并且需要设置新密码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(5)基本使用

在这里插入图片描述

2、docker安装

# 下载
docker pull neo4j:3.5.22-community
# 运行
docker run -d -p 7474:7474 -p 7687:7687 --name neo4j \
-e "NEO4J_AUTH=neo4j/123456" \
-v /usr/local/soft/neo4j/data:/data \
-v /usr/local/soft/neo4j/logs:/logs \
-v /usr/local/soft/neo4j/conf:/var/lib/neo4j/conf \
-v /usr/local/soft/neo4j/import:/var/lib/neo4j/import \
neo4j:3.5.22-community

二、CQL语句

1、CQL简介

在这里插入图片描述

2、CREATE 命令,创建节点、关系、属性

# node-name 节点名
# label-name标签名
# 1、Neo4j数据库服务器使用此<node-name>将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer,我们不能使用它来访问节点详细信息。
# 2、Neo4j数据库服务器创建一个<label-name>作为内部节点名称的别名。作为Neo4j DBA或Developer,我们应该使用此标签名称来访问节点详细信息。
CREATE (<node-name>:<label-name>)

# 创建带有属性的节点
CREATE (
   <node-name>:<label-name>
   {    
      <key>:<Value>
      ........
      <n-key>:<n-Value>
   }
)
-- 创建Student和Teacher的图
create(stu:Student)
create(tea:Teacher)

-- 创建带有属性的节点
CREATE (zhangsan:Student { id:1,name:"zhangsan",age:13 })

3、MATCH 命令,查询

MATCH 
(
   <node-name>:<label-name>
)

# match需要配合return使用
match(stu:Student) return stu

不配合update或者return语句会报错
在这里插入图片描述

4、return语句

RETURN 
   <node-name>.<property1-name>,
   ........
   <node-name>.<propertyn-name>
-- 示例
MATCH (s:Student) RETURN s

-- 或者直接返回属性
MATCH (s:Student) RETURN s.id,s.name,s.age

在这里插入图片描述

5、where子句

在这里插入图片描述

WHERE <property-name> <comparison-operator> <value>

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

-- 条件查询
MATCH (emp:Employee) 
WHERE emp.name = 'Abc' OR emp.name = 'Xyz'
RETURN emp
-- 查询多个,但是没有条件,可以查询后做关系
MATCH (d:Dog),(c:Cat) WHERE d.name = 'dog1' or  c.name = 'cat1' return d,c

6、创建关系

# 创建node1到node2的单向关系 使用新节点创建关系
CREATE (node1-name:lable1-name) - [relationship-name:relationship-lable-name]->(node2-name:lable2-name)
# 创建双向关系 使用新节点创建关系
CREATE (node1-name:lable1-name) <- [relationship-name:relationship-lable-name]->(node2-name:lable2-name)

# 使用已知节点创建带属性的关系:
MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
CREATE  
    (<node1-label-name>)-[<relationship-label-name>:<relationship-name>
    {
   
   <define-properties-list>}]->(<node2-label-name>)
RETURN <relationship-label-name>

# 检索关系节点的详细信息:
MATCH 
(<node1-label-name>)-[<relationship-label-name>:<relationship-name>]->(<node2-label-name>) RETURN <relationship-label-name>

在这里插入图片描述

-- 创建数据
CREATE (d:Dog{ id:1,name:"dog1",age:1 })
CREATE (c:Cat{ id:2,name:"cat1",age:2 })
-- 使用新节点创建关系
CREATE (d:Dog)-[r:Like]->(c:Cat)

-- 已知节点 创建带属性的关系 使用where
MATCH (d:Dog),(c:Cat) 
WHERE d.name = 'dog1' and  c.name = 'cat1'
CREATE (d)-[r:love {info:"loveit"}]->(c) 
RETURN r

-- 检索关系详情
MATCH (d)-[r:love]->(c) 
RETURN d,r,c

在这里插入图片描述

7、delete删除节点和关系

-- 删除节点
DELETE <node-name-list>
-- 删除关系
DELETE <node1-name>,<node2-name>,<relationship-name>
-- 删除节点,如果有关系需要先删除
MATCH (stu: Student) DELETE stu
-- 删除关系
MATCH (d)-[r:love]->(c)  DELETE r

8、remove删除标签和属性

-- 删除属性
REMOVE <node-name>.<property1-name>,<node-name>.<property2-name>
-- 创建多个标签多个属性
CREATE (m:Movie:Pic {id:'1', name:"test"})
-- 删除标签

-- 删除属性 并返回
MATCH (m:Movie:Pic) 
REMOVE m.name
RETURN m

-- 删除标签
MATCH (m:Movie) REMOVE m:Pic

9、set添加、更新属性

-- 节点、关系添加属性
SET  <node-label-name>.<property1-name>,...<node-laben-name>.<propertyn-name>
-- 添加属性
MATCH (book:Book)
SET book.title = 'superstar'
RETURN book

10、ORDER BY排序

-- 默认升序
ORDER BY  <property-name-list>  [DESC]  

-- 示例
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name

在这里插入图片描述

11、UNION合并

UNION子句,它将两组结果中的公共行组合并返回到一组结果中。 它不从两个节点返回重复的行

限制:结果列类型和来自两组结果的名称必须匹配,这意味着列名称应该相同,列的数据类型应该相同。

-- union合并
<MATCH Command1>
   UNION
<MATCH Command2>

-- 示例
MATCH (cc:CreditCard)
RETURN cc.id as id,cc.number as number,cc.name as name,
   cc.valid_from as valid_from,cc.valid_to as valid_to
UNION
MATCH (dc:DebitCard)
RETURN dc.id as id,dc.number as number,dc.name as name,
   dc.valid_from as valid_from,dc.valid_to as valid_to

UNION ALL子句,它结合并返回两个结果集的所有行成一个单一的结果集。它还返回由两个节点重复行

限制:结果列类型,并从两个结果集的名字必须匹配,这意味着列名称应该是相同的,列的数据类型应该是相同的。


-- UNION ALL
<MATCH Command1>
UNION ALL
<MATCH Command2>

12、LIMIT和SKIP子句

Neo4j CQL已提供LIMIT子句和SKIP来过滤或限制查询返回的行数。

简单来说:LIMIT返回前几行,SKIP跳过几行。

-- 返回前两行
MATCH (emp:Employee) 
RETURN emp
LIMIT 2

-- 跳过两行
MATCH (emp:Employee) 
RETURN emp
SKIP 2

-- 实现分页,跳过1行然后返回2行
MATCH (emp:Employee) 
RETURN emp
SKIP 1 LIMIT 2

13、MERGE合并

MERGE命令是CREATE命令和MATCH命令的组合。

Neo4j CQL MERGE命令在图中搜索给定模式,如果存在,则返回结果

如果它不存在于图中,则它创建新的节点/关系并返回结果。

MERGE = CREATE + MATCH
-- 语法
MERGE (<node-name>:<label-name>
{
   <Property1-name>:<Property1-Value>
   .....
   <Propertyn-name>:<Propertyn-Value>
})

注意:
Neo4j CQL MERGE命令语法与CQL CREATE命令类似。

我们将使用这两个命令执行以下操作 –
创建具有一个属性的配置文件节点:Id,名称
创建具有相同属性的同一个Profile节点:Id,Name
检索所有Profile节点详细信息并观察结果
我们将使用CREATE命令执行这些操作:

在这里插入图片描述

14、NULL值

Neo4j CQL将空值视为对节点或关系的属性的缺失值或未定义值。

当我们创建一个具有现有节点标签名称但未指定其属性值的节点时,它将创建一个具有NULL属性值的新节点。

-- 过滤null
MATCH (e:Employee) 
WHERE e.id IS NOT NULL
RETURN e.id,e.name,e.sal,e.deptno

MATCH (e:Employee) 
WHERE e.id IS NULL
RETURN e.id,e.name,e.sal,e.deptno

15、IN操作符

IN[<Collection-of-values>]
-- 示例
MATCH (e:Employee) 
WHERE e.id IN [123,124]
RETURN e.id,e.name,e.sal,e.deptno

16、INDEX索引

-- 创建索引语法
CREATE INDEX ON :<label_name> (<property_name>)
-- 删除索引
DROP INDEX ON :<label_name> (<property_name>)

-- 创建索引
CREATE INDEX ON :Customer (name)
-- 删除
DROP INDEX ON :Customer (name)

17、UNIQUE唯一约束

-- 语法
CREATE CONSTRAINT ON (<label_name>) ASSERT <property_name> IS UNIQUE
DROP CONSTRAINT ON (<label_name>) ASSERT <property_name> IS UNIQUE 

-- 示例
CREATE CONSTRAINT ON (cc:CreditCard) ASSERT cc.number IS UNIQUE
DROP CONSTRAINT ON (cc:CreditCard) ASSERT cc.number IS UNIQUE

18、DISTINCT去重

这个函数的用法就像SQL中的distinct关键字,返回的是所有不同值。

-- 语法
MATCH (n:Movie) RETURN Distinct(n.name)

-- 示例
MATCH (n) RETURN distinct(n.name) LIMIT 25

三、函数

1、字符串函数

-- 字符串转大写
MATCH (e:Employee) 
RETURN e.id,UPPER(e.name),e.sal,e.deptno

-- 字符串转小写
MATCH (e:Employee) 
RETURN e.id,LOWER(e.name),e.sal,e.deptno

-- 分隔字符串 如果一个字符串包含n个字母,则它的长度为n,索引从0开始,到n-1结束。
MATCH (e:Employee) 
RETURN e.id,SUBSTRING(e.name,0,2),e.sal,e.deptno

-- 替换字符
MATCH (e:Employee) 
RETURN e.id,REPLACE(e.name,'a','z'),e.sal,e.deptno

2、AGGREGATION聚合

类似于SQL中的GROUP BY子句。
在这里插入图片描述
在这里插入图片描述

3、关系函数

在获取开始节点,结束节点等细节时知道关系的细节。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、数据备份与恢复

1、备份

# 备份前需要关闭数据库
./neo4j stop

# 导出到文件
./neo4j-admin  dump --database=graph.db --to=/home/2024.dump

# 启动数据库
./neo4j start

2、数据恢复

# 备份前需要关闭数据库
./neo4j stop

# 从文件导入
./neo4j-admin load --from=/home/2024-10-02.dump --database=graph.db --force

# 启动数据库
./neo4j start

五、springboot使用neo4j

1、添加依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-neo4j</artifactId>
        </dependency>

2、配置文件

# neo4j配置
spring.neo4j.uri= bolt://localhost:7687
spring.neo4j.authentication.username=neo4j
spring.neo4j.authentication.password=cxf123!!

3、参考

https://blog.csdn.net/qq_28911061/article/details/134101664

附录:neo4j.conf汉化版

For more details and a complete list of settings, please see https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/

# 如果想自定义neo4j数据库数据的存储路径,要同时修改dbms.active_database 和 dbms.directories.data 两项配置,
# 修改配置后,数据会存放在${dbms.directories.data}/databases/${dbms.active_database} 目录下
# 安装的数据库的名称,默认使用${NEO4J_HOME}/data/databases/graph.db目录
# The name of the database to mount  
#dbms.active_database=graph.db

#安装Neo4j数据库的各个配置路径,默认使用$NEO4J_HOME下的路径
#Paths of directories in the installation. 
# 数据路径
#dbms.directories.data=data  
# 插件路径
#dbms.directories.plugins=plugins  
#dbms.directories.certificates=certificates  证书路径
#dbms.directories.logs=logs 日志路径
#dbms.directories.lib=lib jar包路径
#dbms.directories.run=run 运行路径

#默认情况下想load csv文件,只能把csv文件放到${NEO4J_HOME}/import目录下,把下面的#删除后,可以在load csv时使用绝对路径,这样可能不安全
#This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the `LOAD CSV` section of the manual for details.  
#此设置将所有“LOAD CSV”导入文件限制在`import`目录下。删除注释允许从文件系统的任何地方加载文件;这引入了可能的安全问题。
dbms.directories.import=import

#把下面这行的#删掉后,连接neo4j数据库时就不用输密码了
#Whether requests to Neo4j are authenticated. 是否对Neo4j的请求进行了身份验证。
#To disable authentication, uncomment this line 要禁用身份验证,请取消注释此行。
#dbms.security.auth_enabled=false

#Enable this to be able to upgrade a store from an older version. 是否兼容以前版本的数据
dbms.allow_format_migration=true

#Java Heap Size: by default the Java heap size is dynamically calculated based on available system resources. Java堆大小:默认情况下,Java堆大小是动态地根据可用的系统资源计算。
#Uncomment these lines to set specific initial and maximum heap size. 取消注释这些行以设置特定的初始值和最大值
#dbms.memory.heap.initial_size=512m
#dbms.memory.heap.max_size=512m

#The amount of memory to use for mapping the store files, in bytes (or kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). 用于映射存储文件的内存量(以字节为单位)千字节带有'k'后缀,兆字节带有'm',千兆字节带有'g')。
#If Neo4j is running on a dedicated server, then it is generally recommended to leave about 2-4 gigabytes for the operating system, give the JVM enough heap to hold all your transaction state and query context, and then leave the rest for the page cache. 如果Neo4j在专用服务器上运行,那么通常建议为操作系统保留大约2-4千兆字节,为JVM提供足够的堆来保存所有的事务状态和查询上下文,然后保留其余的页面缓存 。
#The default page cache memory assumes the machine is dedicated to running Neo4j, and is heuristically set to 50% of RAM minus the max Java heap size.  默认页面缓存存储器假定机器专用于运行Neo4j,并且试探性地设置为RAM的50%减去最大Java堆大小。
#dbms.memory.pagecache.size=10g


### Network connector configuration

#With default configuration Neo4j only accepts local connections. Neo4j默认只接受本地连接(localhost)
#To accept non-local connections, uncomment this line:  要接受非本地连接,请取消注释此行
dbms.connectors.default_listen_address=0.0.0.0 (这是删除#后的配置,可以通过ip访问)

#You can also choose a specific network interface, and configure a non-default port for each connector, by setting their individual listen_address. 还可以选择特定的网络接口,并配置非默认值端口,设置它们各自的listen_address

#The address at which this server can be reached by its clients. This may be the server's IP address or DNS name, or it may be the address of a reverse proxy which sits in front of the server. This setting may be overridden for individual connectors below. 客户端可以访问此服务器的地址。这可以是服务器的IP地址或DNS名称,或者可以是位于服务器前面的反向代理的地址。此设置可能会覆盖以下各个连接器。
#dbms.connectors.default_advertised_address=localhost

#You can also choose a specific advertised hostname or IP address, and configure an advertised port for each connector, by setting their individual advertised_address. 您还可以选择特定广播主机名或IP地址,
为每个连接器配置通告的端口,通过设置它们独特的advertised_address。

#Bolt connector 使用Bolt协议
dbms.connector.bolt.enabled=true
dbms.connector.bolt.tls_level=OPTIONAL
dbms.connector.bolt.listen_address=:7687

#HTTP Connector. There must be exactly one HTTP connector. 使用http协议
dbms.connector.http.enabled=true
dbms.connector.http.listen_address=:7474

#HTTPS Connector. There can be zero or one HTTPS connectors. 使用https协议
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=:7473

#Number of Neo4j worker threads. Neo4j线程数
#dbms.threads.worker_count=


#Logging configuration  日志配置

#To enable HTTP logging, uncomment this line  要启用HTTP日志记录,请取消注释此行
dbms.logs.http.enabled=true

#Number of HTTP logs to keep. 要保留的HTTP日志数
#dbms.logs.http.rotation.keep_number=5

#Size of each HTTP log that is kept. 每个HTTP日志文件的大小
dbms.logs.http.rotation.size=20m

#To enable GC Logging, uncomment this line 要启用GC日志记录,请取消注释此行
#dbms.logs.gc.enabled=true

#GC Logging Options see http://docs.oracle.com/cd/E19957-01/819-0084-10/pt_tuningjava.html#wp57013 for more information.  GC日志记录选项 有关详细信息,请参见http://docs.oracle.com/cd/E19957-01/819-0084-10/pt_tuningjava.html#wp57013
#dbms.logs.gc.options=-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+PrintTenuringDistribution

#Number of GC logs to keep. 要保留的GC日志数
#dbms.logs.gc.rotation.keep_number=5

#Size of each GC log that is kept. 保留的每个GC日志文件的大小
#dbms.logs.gc.rotation.size=20m

#Size threshold for rotation of the debug log. If set to zero then no rotation will occur. Accepts a binary suffix "k", "m" or "g".  调试日志旋转的大小阈值。如果设置为零,则不会发生滚动(达到指定大小后切割日志文件)。接受二进制后缀“k”,“m”或“g”。
#dbms.logs.debug.rotation.size=20m

#Maximum number of history files for the internal log. 最多保存几个日志文件
#dbms.logs.debug.rotation.keep_number=7


### Miscellaneous configuration  其他配置


#Enable this to specify a parser other than the default one. 启用此选项可指定除默认解析器之外的解析器
#cypher.default_language_version=3.0

#Determines if Cypher will allow using file URLs when loading data using `LOAD CSV`. Setting this value to `false` will cause Neo4j to fail `LOAD CSV` clauses that load data from the file system.    确定当使用加载数据时,Cypher是否允许使用文件URL `LOAD CSV`。将此值设置为`false`将导致Neo4j不能通过互联网上的URL导入数据,`LOAD CSV` 会从文件系统加载数据。
dbms.security.allow_csv_import_from_file_urls=true

#Retention policy for transaction logs needed to perform recovery and backups.  执行恢复和备份所需的事务日志的保留策略
#dbms.tx_log.rotation.retention_policy=7 days

#Enable a remote shell server which Neo4j Shell clients can log in to.  启用Neo4j Shell客户端可以登录的远程shell服务器
dbms.shell.enabled=true
#The network interface IP the shell will listen on (use 0.0.0.0 for all interfaces).
dbms.shell.host=127.0.0.1
#The port the shell will listen on, default is 1337.
dbms.shell.port=1337

#Only allow read operations from this Neo4j instance. This mode still requires write access to the directory for lock purposes.  只允许从Neo4j实例读取操作。此模式仍然需要对目录的写访问以用于锁定目的。
#dbms.read_only=false

#Comma separated list of JAX-RS packages containing JAX-RS resources, one package name for each mountpoint. The listed package names will be loaded under the mountpoints specified. Uncomment this line to mount the org.neo4j.examples.server.unmanaged.HelloWorldResource.java from neo4j-server-examples under /examples/unmanaged, resulting in a final URL of http://localhost:7474/examples/unmanaged/helloworld/{nodeId}      包含JAX-RS资源的JAX-RS软件包的逗号分隔列表,每个安装点一个软件包名称。所列出的软件包名称将在指定的安装点下加载。取消注释此行以装载org.neo4j.examples.server.unmanaged.HelloWorldResource.java neo4j-server-examples下/ examples / unmanaged,最终的URL为http//localhost7474/examples/unmanaged/helloworld/{nodeId}
#dbms.unmanaged_extension_classes=org.neo4j.examples.server.unmanaged=/examples/unmanaged


#JVM Parameters  JVM参数

#G1GC generally strikes a good balance between throughput and tail latency, without too much tuning. G1GC通常在吞吐量和尾部延迟之间达到很好的平衡,而没有太多的调整。
dbms.jvm.additional=-XX:+UseG1GC

#Have common exceptions keep producing stack traces, so they can be debugged regardless of how often logs are rotated. 有共同的异常保持生成堆栈跟踪,所以他们可以被调试,无论日志被旋转的频率
dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow

#Make sure that `initmemory` is not only allocated, but committed to the process, before starting the database. This reduces memory fragmentation, increasing the effectiveness of transparent huge pages. It also reduces the possibility of seeing performance drop due to heap-growing GC events, where a decrease in available page cache leads to an increase in mean IO response time. Try reducing the heap memory, if this flag degrades performance.    确保在启动数据库之前,“initmemory”不仅被分配,而且被提交到进程。这减少了内存碎片,增加了透明大页面的有效性。它还减少了由于堆增长的GC事件而导致性能下降的可能性,其中可用页面缓存的减少导致平均IO响应时间的增加。如果此标志降低性能,请减少堆内存。    
dbms.jvm.additional=-XX:+AlwaysPreTouch

#Trust that non-static final fields are really final. This allows more optimizations and improves overall performance. NOTE: Disable this if you use embedded mode, or have extensions or dependencies that may use reflection or serialization to change the value of final fields!    信任非静态final字段真的是final。这允许更多的优化和提高整体性能。注意:如果使用嵌入模式,或者有可能使用反射或序列化更改最终字段的值的扩展或依赖关系,请禁用此选项!
dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions
dbms.jvm.additional=-XX:+TrustFinalNonStaticFields

#Disable explicit garbage collection, which is occasionally invoked by the JDK itself.  禁用显式垃圾回收,这是偶尔由JDK本身调用。
dbms.jvm.additional=-XX:+DisableExplicitGC

#Remote JMX monitoring, uncomment and adjust the following lines as needed. Absolute paths to jmx.access and jmx.password files are required.  远程JMX监视,取消注释并根据需要调整以下行。需要jmx.access和jmx.password文件的绝对路径。
#Also make sure to update the jmx.access and jmx.password files with appropriate permission roles and passwords, the shipped configuration contains only a read only role called 'monitor' with password 'Neo4j'. 还要确保使用适当的权限角色和密码更新jmx.access和jmx.password文件,所配置的配置只包含名为“monitor”的只读角色,密码为“Neo4j”。
#For more details, see: http://download.oracle.com/javase/8/docs/technotes/guides/management/agent.html On Unix based systems the jmx.password file needs to be owned by the user that will run the server, and have permissions set to 0600. Unix系统,有关详情,请参阅:http://download.oracle.com/javase/8/docs/technotes/guides/management/agent.html,jmx.password文件需要由运行服务器的用户拥有,并且权限设置为0600。
#For details on setting these file permissions on Windows see: http://docs.oracle.com/javase/8/docs/technotes/guides/management/security-windows.html   Windows系统  有关在设置这些文件权限的详细信息,请参阅:http://docs.oracle.com/javase/8/docs/technotes/guides/management/security-windows.html
#dbms.jvm.additional=-Dcom.sun.management.jmxremote.port=3637
#dbms.jvm.additional=-Dcom.sun.management.jmxremote.authenticate=true
#dbms.jvm.additional=-Dcom.sun.management.jmxremote.ssl=false
#dbms.jvm.additional=-Dcom.sun.management.jmxremote.password.file=/absolute/path/to/conf/jmx.password
#dbms.jvm.additional=-Dcom.sun.management.jmxremote.access.file=/absolute/path/to/conf/jmx.access

#Some systems cannot discover host name automatically, and need this line configured:  某些系统无法自动发现主机名,需要配置以下行:
#dbms.jvm.additional=-Djava.rmi.server.hostname=$THE_NEO4J_SERVER_HOSTNAME

#Expand Diffie Hellman (DH) key size from default 1024 to 2048 for DH-RSA cipher suites used in server TLS handshakes. 对于服务器TLS握手中使用的DH-RSA密码套件,将Diffie Hellman(DH)密钥大小从默认1024展开到2048。
#This is to protect the server from any potential passive eavesdropping. 这是为了保护服务器免受任何潜在的被动窃听。
dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048


### Wrapper Windows NT/2000/XP Service Properties  包装器Windows NT / 2000 / XP服务属性包装器Windows NT / 2000 / XP服务属性

#WARNING - Do not modify any of these properties when an application using this configuration file has been installed as a service.  WARNING - 当使用此配置文件的应用程序已作为服务安装时,不要修改任何这些属性。
#Please uninstall the service before modifying this section.  The service can then be reinstalled. 请在修改此部分之前卸载服务。 然后可以重新安装该服务。

#Name of the service 服务的名称
dbms.windows_service_name=neo4j


### Other Neo4j system properties  其他Neo4j系统属性
dbms.jvm.additional=-Dunsupported.dbms.udc.source=zip

参考资料

https://cloud.tencent.com/developer/article/2171687
https://cloud.tencent.com/developer/article/2110326

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2254334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

五.指派问题

匈牙利发求解指派问题找独立0元素&#xff0c;常用的步骤为&#xff1a;

如何利用AI生成专业级海报教程:解决中文嵌入问题的实战指南

AI生成专业级海报教程:解决中文嵌入问题的实战指南 一、前言:突破性进展 重大突破!字节即梦AI最新发布的v2.1绘图模型完美解决了中文文字嵌入问题。等待了整整两年,我们终于等到了这一天 —— AI可以直接在图片上完美呈现中文字体,审美和泛化能力都达到了惊人的水平。 二…

优质翻译在美国电子游戏推广中的作用

美国作为世界上最大的视频游戏市场之一&#xff0c;为寻求全球成功的游戏开发商提供了无与伦比的机会。然而&#xff0c;美国市场的文化和语言多样性使其成为一个复杂的导航景观。高质量的翻译在弥合开发者和这些充满活力的观众之间的差距方面发挥着关键作用&#xff0c;确保游…

嵌入式驱动开发详解4(内核定时器)

文章目录 前言通用定时器系统节拍节拍数与时间转换基本框架定时器使用代码展示通用定时器特点 高精度定时器 前言 LInux内核定时器是一种基于未来时间点的计时方式&#xff0c;以当前时刻来启动的时间点&#xff0c;以未来的某一时刻为终止点。比如&#xff0c;现在是10点5分&…

力扣-图论-3【算法学习day.53】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…

2024年认证杯SPSSPRO杯数学建模D题(第一阶段)AI绘画带来的挑战解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 D题 AI绘画带来的挑战 原题再现&#xff1a; 2023 年开年&#xff0c;ChatGPT 作为一款聊天型AI工具&#xff0c;成为了超越疫情的热门词条&#xff1b;而在AI的另一个分支——绘图领域&#xff0c;一款名为Midjourney&#xff08;MJ&#xff…

各种常见生信格式文件的随机抽样

样本检验、随机生成数据、模拟用等&#xff0c;都需要从现有测序数据中随机抽样出一小部分数据来&#xff0c;按照自己需求。 0&#xff0c;最经典的方式&#xff1a; 使用awk等&#xff0c;只要了解各种数据格式具体的行列组成&#xff08;一般是headerrecord&#xff09;&a…

【技展云端,引擎蓝天】2025涡轮展之民用航空发动机技术分论坛及展览展示

2023年全球航空发动机市场规模约为1139.72亿美元&#xff0c;预计到2030年将达到1511.95亿美元&#xff0c;年均复合增长率为4.12%。这主要得益于全球航空运输需求的不断增长、新兴市场的快速扩张以及更高效、更环保的发动机技术创新。 航空发动机是一种高度复杂和精密的热力机…

【算法】——前缀和(矩阵区域和详解,文末附)

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;前缀和模版 二&#xff1a;前缀和模版2 三&#xff1a;寻找数组的中心下标 四&#x…

【kotlin 】内联类(value class / inline class)

官方文档&#xff1a;https://kotlinlang.org/docs/inline-classes.html 注&#xff1a;inline class 关键字已经被废弃&#xff0c;取而代之的是value class。现在使用内联类需要定义类为value class&#xff0c;并使用JvmInline注解进行标注。 一、使用场景 有时候&#xff…

【热门主题】000076 探索单片机的奥秘:原理、编程与应用全解析

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【热…

泷羽sec学习打卡-shell命令9

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都 与本人无关,切莫逾越法律红线,否则后果自负 关于shell的那些事儿-shell完结 方法一方法二重定向示例1示例2示例3 文件描述符例1例2 实践是检验真理的…

【Java】Scanner类的使用

Scanner类&#xff1a;从输入源&#xff08;键盘&#xff09;读取数据&#xff08;Java自己已经写好的一个类&#xff09; 使用&#xff1a; 1.导入Scanner类&#xff1a;import java.util.Scanner;&#xff08;为使用Scanner类做准备&#xff09; 2.创建Scanner类的对象&am…

摩尔线程 国产显卡 MUSA 并行编程 学习笔记-2024/12/04

Learning Roadmap&#xff1a; Section 1: Intro to Parallel Programming & MUSA Deep Learning Ecosystem&#xff08;摩尔线程 国产显卡 MUSA 并行编程 学习笔记-2024/11/30-CSDN博客&#xff09;UbuntuDriverToolkitcondapytorchtorch_musa环境安装(2024/11/24-Ubunt…

Mac安装MINIO服务器实现本地上传和下载服务

0.MINIO学习文档 Minio客户端mc使用 | Elibaron学习笔记 1.Mac安装MINIO 中文官方网址&#xff1a;MinIO下载和安装 | 用于创建高性能对象存储的代码和下载内容 (1) brew 安装 brew install minio/stable/minio &#xff08;2&#xff09;安装完成&#xff0c;执行brew i…

2024-12-03OpenCV图片处理基础

OpenCV图片处理基础 OpenCV的视频教学&#xff1a;https://www.bilibili.com/video/BV14P411D7MH 1-OpenCV摄像头读取 OpenCV使用摄像头读取图片帧&#xff0c;点击S保存当前帧到指定文件夹&#xff0c;点击Q关闭窗口&#xff0c;点击其他按钮打印按钮的值 要实现这个功能&…

nginx中tcp_nodelay、types_hash_max_size都是什么配置?

nginx中tcp_nodelay、types_hash_max_size都是什么配置&#xff1f; 在 Nginx 中&#xff0c;tcp_nodelay 和 types_hash_max_size 是两个不同的配置项&#xff0c;它们分别与网络性能优化和 MIME 类型的管理相关。 1. tcp_nodelay 功能&#xff1a; 控制是否启用 TCP_NODELAY…

openGauss开源数据库实战十九

文章目录 任务十九 openGauss DML 语句测试任务目标实施步骤一、准备工作二、INSERT语句三、DELETE语句四、UPDATE语句五、清理工作 任务十九 openGauss DML 语句测试 任务目标 掌握DML语句的用法,包括INSERT语句、DELETE语句和UPDATE语句。 实施步骤 一、准备工作 使用Li…

400G智算网络助力知名自动驾驶企业算力训练提效

根据Gartner的最新趋势预测&#xff0c;自动驾驶技术正迅速发展&#xff0c;预计在未来几年内将带来显著的商业效益&#xff0c;特别是在决策智能和边缘人工智能领域。目前&#xff0c;一家领军企业正积极拥抱基于大模型的数字化转型之路&#xff0c;作为自动驾驶领域的佼佼者&…