diff --git a/models/hospital/access-control-old.adoc b/models/hospital/access-control-old.adoc index 82f14ade2..948c9e06f 100644 --- a/models/hospital/access-control-old.adoc +++ b/models/hospital/access-control-old.adoc @@ -5,7 +5,7 @@ When creating a database, administrators may want to establish which users have the ability to access certain information. -As described in xref:authentication-authorization/built-in-roles/auth-built-in-roles[Built-in roles], Neo4j already offers preset roles configured to specific permissions (i.e. read, edit, or write). +As described in xref:authentication-authorization/built-in-roles.adoc[Built-in roles], Neo4j already offers preset roles configured to specific permissions (i.e. read, edit, or write). While these built-in roles cover many common daily scenarios, it is also possible to create custom roles for specific needs. This page contains an example that illustrates various aspects of security and fine-grained access control. @@ -85,7 +85,7 @@ This allows users to be created entirely within the database security model, a s For more information, see link:{neo4j-docs-base-uri}/cypher-manual/current/access-control/[Cypher Manual -> Access control]. The following examples show two different approaches to using Neo4j security features to support the _healthcare_ database application. -The first approach uses xref:authentication-authorization/built-in-roles/auth-built-in-roles[Built-in roles], whereas the second uses more advanced resources with fine-grained privileges for <>. +The first approach uses xref:authentication-authorization/built-in-roles.adoc[Built-in roles], whereas the second uses more advanced resources with fine-grained privileges for <>. In this example, consider five users of the _healthcare_ database: diff --git a/modules/ROOT/pages/authentication-authorization/index.adoc b/modules/ROOT/pages/authentication-authorization/index.adoc index 9703d9b79..6395dcf51 100644 --- a/modules/ROOT/pages/authentication-authorization/index.adoc +++ b/modules/ROOT/pages/authentication-authorization/index.adoc @@ -28,7 +28,7 @@ For more information, see xref:authentication-authorization/password-and-user-re When triggered, Neo4j logs an error containing a timestamp and the message `failed to log in: too many failed attempts` in the _security.log_. ==== + -For the relevant Cypher commands, see xref:authentication-authorization/manage-users.adoc#access-control-user-syntax[Manage users syntax], xref:authentication-authorization/manage-roles.adoc#access-control-role-syntax[Manage roles syntax], and xref:authentication-authorization/manage-privileges.adoc#access-control-privileges-syntax[Manage privileges syntax]. +For the relevant Cypher commands, see xref:authentication-authorization/manage-users.adoc#access-control-user-syntax[Manage users syntax], xref:authentication-authorization/manage-roles.adoc#access-control-role-syntax[Manage roles syntax], and xref:authentication-authorization/manage-privileges.adoc[Manage privileges syntax]. Various scenarios that illustrate the use of the native auth provider are available in xref:tutorial/access-control.adoc[]. *User auth providers*:: @@ -47,7 +47,7 @@ The configuration steps are described in xref:authentication-authorization/sso-i *Custom-built plugin auth providers*:: A plugin option for building custom integrations. It is recommended that this option is used as part of a custom delivery as negotiated with link:https://neo4j.com/professional-services/[Neo4j Professional Services]. -For more information, see link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/security-plugins#extending-neo4j-security-plugins[Java Reference -> Authentication and authorization plugins]. +For more information, see link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/security-plugins[Java Reference -> Authentication and authorization plugins]. *Kerberos authentication and single sign-on*:: In addition to LDAP, native, and custom providers, Neo4j supports Kerberos for authentication and single sign-on. diff --git a/modules/ROOT/pages/authentication-authorization/ldap-integration.adoc b/modules/ROOT/pages/authentication-authorization/ldap-integration.adoc index 0329374e9..4da77597f 100644 --- a/modules/ROOT/pages/authentication-authorization/ldap-integration.adoc +++ b/modules/ROOT/pages/authentication-authorization/ldap-integration.adoc @@ -65,7 +65,7 @@ this LDAP group will fail authentication, even if their credentials are correct. |=== All settings are defined at server startup time in the default configuration file _xref:configuration/neo4j-conf.adoc[neo4j.conf]_ or can be modified at -runtime using xref:procedures.adoc#procedure_dbms_setconfigvalue[`dbms.setConfigValue()`]. +runtime using xref:procedures.adoc#procedure_dbms_setConfigValue[`dbms.setConfigValue()`]. [[auth-ldap-configure-provider]] @@ -470,7 +470,7 @@ SET AUTH 'ldap' { SET ID 'cn=alice,ou=sales,dc=example,dc=com' } You can verify that your LDAP configuration is correct, and that the LDAP server responds, by using the LDAP command-line tool `ldapsearch`. The `ldapsearch` command accepts the LDAP configuration setting values as input and verifies both the authentication (using the `simple` mechanism) and authorization of a user. -See the https://docs.ldap.com/ldap-sdk/docs/tool-usages/ldapsearch.html[ldapsearch official documentation^] for more advanced usage and how to use SASL authentication mechanisms. +See the link:https://docs.ldap.com/ldap-sdk/docs/tool-usages/ldapsearch.html[ldapsearch official documentation] for more advanced usage and how to use SASL authentication mechanisms. . Verify the authentication and authorization of a user. For example, `john`. diff --git a/modules/ROOT/pages/authentication-authorization/manage-execute-permissions.adoc b/modules/ROOT/pages/authentication-authorization/manage-execute-permissions.adoc index f599e93be..f21e47852 100644 --- a/modules/ROOT/pages/authentication-authorization/manage-execute-permissions.adoc +++ b/modules/ROOT/pages/authentication-authorization/manage-execute-permissions.adoc @@ -15,7 +15,7 @@ The elevated privileges only apply within the procedure or user-defined function -- The steps below assume that the procedure or user-defined function is already developed and installed. -Please refer to link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j#extending-neo4j[Java Reference -> Extending Neo4j] for a description of creating and using user-defined procedures and functions. +Please refer to link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/[Java Reference -> Extending Neo4j] for a description of creating and using user-defined procedures and functions. -- diff --git a/modules/ROOT/pages/authentication-authorization/manage-users.adoc b/modules/ROOT/pages/authentication-authorization/manage-users.adoc index afa42f572..2cdafb969 100644 --- a/modules/ROOT/pages/authentication-authorization/manage-users.adoc +++ b/modules/ROOT/pages/authentication-authorization/manage-users.adoc @@ -636,7 +636,7 @@ RETURN user AS adminUser [[access-control-list-user-auth-providers]] == Listing user auth providers -To inspect users' xref:authentication-authorization/auth-providers.adoc#access-control-list-user-auth-providers[auth providers], use `SHOW USERS WITH AUTH`. +To inspect available user auth providers, use `SHOW USERS WITH AUTH`. The command produces a row per user per auth provider and yields the following two columns in addition to those output by `SHOW USERS`: [options="header", width="100%", cols="1a,4,1m,^.^,^.^"] @@ -745,6 +745,8 @@ WHERE provider = 'oidc1' ====== +For more information about auth providers, see xref:authentication-authorization/auth-providers.adoc[User auth providers]. + [[access-control-create-users]] == Creating users diff --git a/modules/ROOT/pages/authentication-authorization/privileges-writes.adoc b/modules/ROOT/pages/authentication-authorization/privileges-writes.adoc index 2fbaa0411..a23da34bf 100644 --- a/modules/ROOT/pages/authentication-authorization/privileges-writes.adoc +++ b/modules/ROOT/pages/authentication-authorization/privileges-writes.adoc @@ -135,7 +135,7 @@ DENY DELETE ON GRAPH * RELATIONSHIPS bar TO regularUsers [NOTE] ==== Users with `DELETE` privilege, but restricted `TRAVERSE` privileges, will not be able to do `DETACH DELETE` in all cases. -See href:tutorial/access-control.adoc#detach-delete-restricted-user[delete restricted user] for more info. +See xref:tutorial/access-control.adoc#detach-delete-restricted-user[delete restricted user] for more info. ==== [NOTE] diff --git a/modules/ROOT/pages/authentication-authorization/property-based-access-control.adoc b/modules/ROOT/pages/authentication-authorization/property-based-access-control.adoc index 828da58f1..eede6f21e 100644 --- a/modules/ROOT/pages/authentication-authorization/property-based-access-control.adoc +++ b/modules/ROOT/pages/authentication-authorization/property-based-access-control.adoc @@ -31,7 +31,7 @@ To specify the property/value conditions of the privilege, you can use the follo ---- {GRANT | DENY | REVOKE [GRANT | DENY]} [IMMUTABLE] -{MATCH | READ | TRAVERSE} +{MATCH | READ | TRAVERSE} ON { HOME GRAPH | GRAPH[S] { * | name[, ...] } } [ ELEMENT[S] { * | label-or-rel-type[, ...] } @@ -50,7 +50,7 @@ To specify the property/value conditions of the privilege, you can use the follo WHERE [NOT] var.property { { = | <> | > | >= | < | <= } value | IS NULL | IS NOT NULL | IN { "["[value[, ...]]"]" | listParam } } "]"-[>]() } ] - {TO | FROM} role[, ...] + {TO | FROM} role[, ...] ---- @@ -173,7 +173,7 @@ This is essential when revoking property-based privileges containing evaluated f [NOTE] ==== -Not all temporal values are comparable, see link:{neo4j-docs-base-uri}/cypher-manual/current/syntax/operators/#cypher-ordering[Cypher Manual -> Syntax -> Operators -> Ordering and comparison of values]. +Not all temporal values are comparable, see link:{neo4j-docs-base-uri}/cypher-manual/current/values-and-types/ordering-equality-comparison[Cypher Manual -> Equality, ordering, and comparison of value types]. ==== You can show the privilege created by the command in the previous example as a revoke command by running: diff --git a/modules/ROOT/pages/authentication-authorization/sso-integration.adoc b/modules/ROOT/pages/authentication-authorization/sso-integration.adoc index e72df0edc..284565da6 100644 --- a/modules/ROOT/pages/authentication-authorization/sso-integration.adoc +++ b/modules/ROOT/pages/authentication-authorization/sso-integration.adoc @@ -150,7 +150,7 @@ dbms.security.authorization_providers=oidc-newsso,oidc-oldsso,native . Check connectivity. Neo4j needs to connect to the identity provider to discover settings and fetch public keys to verify tokens. Check firewall settings and security controls, and, if necessary, logs to ensure that the Neo4j server is able to connect to the identity provider using HTTPS. -If a proxy is required, this can be https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/doc-files/net-properties.html#Proxies[configured] in the Java virtual machine using the configuration setting xref:configuration/configuration-settings.adoc#config_server.jvm.additional[server.jvm.additional]. +If a proxy is required, this can be link:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/doc-files/net-properties.html#Proxies[configured] in the Java virtual machine using the configuration setting xref:configuration/configuration-settings.adoc#config_server.jvm.additional[server.jvm.additional]. Proxies that require credentials are not supported. [[auth-sso-map-idp-roles]] diff --git a/modules/ROOT/pages/backup-restore/consistency-checker.adoc b/modules/ROOT/pages/backup-restore/consistency-checker.adoc index fecff8652..48f511431 100644 --- a/modules/ROOT/pages/backup-restore/consistency-checker.adoc +++ b/modules/ROOT/pages/backup-restore/consistency-checker.adoc @@ -107,7 +107,7 @@ Value can be plain numbers, like `10000000` or e.g. `20G` for 20 gigabytes, or e |--from-path-data= |Path to the databases directory, containing the database directory to source from. -| xref:configuration/configuration-settings.adoc#config_server.directories.data, [`server.directories.data`]/databases +| xref:configuration/configuration-settings.adoc#config_server.directories.data[`server.directories.data`]/databases |--from-path-txn= |Path to the transactions directory, containing the transaction directory for the database to source from. diff --git a/modules/ROOT/pages/backup-restore/online-backup.adoc b/modules/ROOT/pages/backup-restore/online-backup.adoc index 656567069..4d91b53c7 100644 --- a/modules/ROOT/pages/backup-restore/online-backup.adoc +++ b/modules/ROOT/pages/backup-restore/online-backup.adoc @@ -56,7 +56,7 @@ For more information, see xref:backup-restore/online-backup.adoc#online-backup-c [NOTE] ==== -`neo4j-admin database backup` is not supported in https://neo4j.com/cloud/aura/[Neo4j Aura]. +`neo4j-admin database backup` is not supported in link:https://neo4j.com/cloud/aura/[Neo4j Aura]. ==== [[backup-command-syntax]] @@ -465,9 +465,9 @@ bin/neo4j-admin database backup --to-path=azb://myStorageAccount/myContainer/myD [[diff-backup-as-parent]] === Perform a differential backup using the `--prefer-diff-as-parent` option -By default, a differential backup (`--type=DIFF`) uses the *most recent non-empty* backup -- whether full or differential -- in the directory as its parent. +By default, a differential backup (`--type=DIFF`) uses the *most recent non-empty* backup -- whether full or differential -- in the directory as its parent. -The `--prefer-diff-as-parent` option changes this behavior and forces the backup job to use the *latest differential* backup as the parent, even if a newer full backup exists. +The `--prefer-diff-as-parent` option changes this behavior and forces the backup job to use the *latest differential* backup as the parent, even if a newer full backup exists. This approach allows you to maintain a chain of differential backups for all transactions and restore to any point in time. Without this option, the transactions between the last full backup and a previous differential backup cannot be backed up as individual transactions. diff --git a/modules/ROOT/pages/backup-restore/restore-backup.adoc b/modules/ROOT/pages/backup-restore/restore-backup.adoc index d60c40ede..933dcfb51 100644 --- a/modules/ROOT/pages/backup-restore/restore-backup.adoc +++ b/modules/ROOT/pages/backup-restore/restore-backup.adoc @@ -8,7 +8,7 @@ A database backup artifact (full or differential) can be restored within the same or to a later Neo4j version using the `restore` command of `neo4j-admin`. -You can also load a **full** database backup artifact using the xref:backup-restore/restore-dump.adoc#restore-dump-command[`neo4j-admin database load`] command. +You can also load a **full** database backup artifact using the xref:backup-restore/restore-dump.adoc[`neo4j-admin database load`] command. This functionality is available in the Community Edition. [NOTE] @@ -23,7 +23,7 @@ For more information, see xref:database-administration/standard-databases/create [NOTE] ==== If you are using CDC, make sure you create the new database with the same `txLogEnrichment` value and handle the potential loss or corruption of CDC data in your CDC application. -For more information, see the link:{neo4j-docs-base-uri}/cdc/{page-version}[Change Data Capture (CDC)] documentation. +For more information, see the link:https://neo4j.com/docs/cdc/current/[Change Data Capture (CDC)] documentation. ==== [NOTE] diff --git a/modules/ROOT/pages/changes-deprecations-removals.adoc b/modules/ROOT/pages/changes-deprecations-removals.adoc index e994c20eb..69fde6d37 100644 --- a/modules/ROOT/pages/changes-deprecations-removals.adoc +++ b/modules/ROOT/pages/changes-deprecations-removals.adoc @@ -69,19 +69,19 @@ For more information, see xref:monitoring/logging.adoc#_default_logging_configur | Community Edition | Enterprise Edition -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_dbms_cluster_movetonextdiscoveryversion[`dbms.cluster.moveToNextDiscoveryVersion()`] +| link:{neo4j-docs-base-uri}/operations-manual/5/procedures.adoc#procedure_dbms_cluster_moveToNextDiscoveryVersion[`dbms.cluster.moveToNextDiscoveryVersion()`] | | {check-mark} -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_dbms_cluster_showparalleldiscoverystate[`dbms.cluster.showParallelDiscoveryState()`] +| link:{neo4j-docs-base-uri}/operations-manual/5/procedures.adoc#procedure_dbms_cluster_showParallelDiscoveryState[`dbms.cluster.showParallelDiscoveryState()`] | | {check-mark} -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_dbms_cluster_switchdiscoveryserviceversion[`dbms.cluster.switchDiscoveryServiceVersion()`] +| link:{neo4j-docs-base-uri}/operations-manual/5/procedures.adoc#procedure_dbms_cluster_switchDiscoveryServiceVersion[`dbms.cluster.switchDiscoveryServiceVersion()`] | | {check-mark} -|link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_dbms_setDatabaseAllocator[`dbms.setDatabaseAllocator()`] +|link:{neo4j-docs-base-uri}/operations-manual/5/procedure_dbms_cluster_dbms.setDatabaseAllocator()[`dbms.setDatabaseAllocator()`] | |{check-mark} @@ -401,7 +401,7 @@ Replaced by xref:procedures.adoc#procedure_dbms_recreateDatabase[`dbms.recreateD Replaced by xref:procedures.adoc#procedure_dbms_unquarantineDatabase[`dbms.unquarantineDatabase()`] -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_dbms_cluster_uncordonServer[`dbms.cluster.uncordonServer()`] +| xref:procedures.adoc#procedure_dbms_cluster_uncordonServer[`dbms.cluster.uncordonServer()`] | | {check-mark} | label:deprecated[Deprecated in 5.23]. + @@ -409,56 +409,56 @@ Before Neo4j 5.23, the procedure can be run only with an admin privilege. + Replaced by xref:clustering/server-syntax.adoc#server-management-syntax[`ENABLE SERVER`]. -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_dbms_cluster_routing_getroutingtable[`dbms.cluster.routing.getRoutingTable()`] +| xref:procedures.adoc#procedure_dbms_cluster_routing_getRoutingTable[`dbms.cluster.routing.getRoutingTable()`] | {check-mark} | {check-mark} | label:deprecated[Deprecated in 5.21]. + -Replaced by: xref:procedures.adoc#procedure_dbms_routing_getroutingtable[`dbms.routing.getRoutingTable()`]. +Replaced by: xref:procedures.adoc#procedure_dbms_routing_getRoutingTable[`dbms.routing.getRoutingTable()`]. -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_cdc_current[`cdc.current()`] label:beta[] +| xref:procedures.adoc#procedure_cdc_current[`cdc.current()`] label:beta[] | | {check-mark} | label:deprecated[Deprecated in 5.17] + Replaced by: xref:procedures.adoc#procedure_db_cdc_current[`db.cdc.current()`] -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_cdc_earliest[`cdc.earliest()`] label:beta[] +| xref:procedures.adoc#procedure_cdc_earliest[`cdc.earliest()`] label:beta[] | | {check-mark} | label:deprecated[Deprecated in 5.17] + Replaced by: xref:procedures.adoc#procedure_db_cdc_earliest[`db.cdc.earliest()`] -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_cdc_query[`cdc.query()`] label:beta[] label:admin-only[] +| xref:procedures.adoc#procedure_cdc_query[`cdc.query()`] label:beta[] label:admin-only[] | | {check-mark} | label:deprecated[Deprecated in 5.17] + Replaced by: xref:procedures.adoc#procedure_db_cdc_query[`db.cdc.query()`] -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_db_create_setVectorProperty[`db.create.setVectorProperty()`] label:beta[] +| xref:procedures.adoc#procedure_db_create_setVectorProperty[`db.create.setVectorProperty()`] label:beta[] | {check-mark} | {check-mark} | label:deprecated[Deprecated in 5.13] + Replaced by: xref:procedures.adoc#procedure_db_create_setNodeVectorProperty[`db.create.setNodeVectorProperty()`] -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_dbms_upgrade[`dbms.upgrade()`] label:admin-only[] +| xref:procedures.adoc#procedure_dbms_upgrade[`dbms.upgrade()`] label:admin-only[] | {check-mark} | {check-mark} | label:deprecated[Deprecated in 5.9] -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_dbms_upgradestatus[`dbms.upgradeStatus()`] label:admin-only[] +| xref:procedures.adoc#procedure_dbms_upgradeStatus[`dbms.upgradeStatus()`] label:admin-only[] | {check-mark} | {check-mark} | label:deprecated[Deprecated in 5.9] -| link:{neo4j-docs-base-uri}/operations-manual/5/procedures/#procedure_dbms_cluster_readreplicatoggle[`dbms.cluster.readReplicaToggle()`] label:admin-only[] +| xref:procedures.adoc#procedure_dbms_cluster_readReplicaToggle[`dbms.cluster.readReplicaToggle()`] label:admin-only[] | | {check-mark} | label:deprecated[Deprecated in 5.6] + -Replaced by: xref:procedures.adoc#procedure_dbms_cluster_secondaryreplicationdisable[`dbms.cluster.secondaryReplicationDisable()`]. +Replaced by: xref:procedures.adoc#procedure_dbms_cluster_secondaryReplicationDisable[`dbms.cluster.secondaryReplicationDisable()`]. |=== ==== @@ -475,7 +475,7 @@ Replaced by: xref:procedures.adoc#procedure_dbms_cluster_secondaryreplicationdis | Comment | xref:configuration/configuration-settings.adoc#config_dbms.routing.load_balancing.plugin[`dbms.routing.load_balancing.plugin`] -| +| | {check-mark} | label:deprecated[Deprecated in 2025.05] diff --git a/modules/ROOT/pages/cloud-deployments/index.adoc b/modules/ROOT/pages/cloud-deployments/index.adoc index 2d97b9fb0..5ef0533f5 100644 --- a/modules/ROOT/pages/cloud-deployments/index.adoc +++ b/modules/ROOT/pages/cloud-deployments/index.adoc @@ -12,15 +12,15 @@ Neo4j's cloud marketplace listings represent a quick and easy way of getting sta | Amazon Web Services | xref:cloud-deployments/neo4j-aws.adoc[Neo4j on AWS] -| https://neo4j.com/partners/amazon/[Neo4j in the AWS Marketplace^] +| link:https://neo4j.com/partners/amazon/[Neo4j in the AWS Marketplace] -| Google Cloud +| Google Cloud | xref:cloud-deployments/neo4j-gcp.adoc[Neo4j on Google Cloud Platform] -| https://neo4j.com/partners/google/[Neo4j in the GCP Marketplace^] +| link:https://neo4j.com/partners/google/[Neo4j in the GCP Marketplace] | Microsoft Azure | xref:cloud-deployments/neo4j-azure.adoc[Neo4j on Microsoft Azure] -| https://neo4j.com/partners/microsoft/[Neo4j in the Azure Marketplace^] +| link:https://neo4j.com/partners/microsoft/[Neo4j in the Azure Marketplace] |=== @@ -28,7 +28,7 @@ Neo4j's cloud marketplace listings represent a quick and easy way of getting sta [TIP] ==== *Neo4j Aura* is a fully managed Neo4j database, hosted in the cloud and requires no installation. -For more information, see https://neo4j.com/aura/[the Aura product^], https://aura.support.neo4j.com/[support pages^], and the https://www.neo4j.com/docs/aura[Aura documentationˆ]. +For more information, see link:https://neo4j.com/aura/[the Aura product], link:https://aura.support.neo4j.com/[support pages], and the link:https://www.neo4j.com/docs/aura[Aura documentation]. //Neo4j can be run in a *Docker* container. //For information on running Neo4j on Docker, see xref:docker/index.adoc[Docker]. diff --git a/modules/ROOT/pages/cloud-deployments/neo4j-aws.adoc b/modules/ROOT/pages/cloud-deployments/neo4j-aws.adoc index ec5da9ecc..bf9f26652 100644 --- a/modules/ROOT/pages/cloud-deployments/neo4j-aws.adoc +++ b/modules/ROOT/pages/cloud-deployments/neo4j-aws.adoc @@ -5,7 +5,7 @@ Neo4j can be easily deployed on EC2 instances in Amazon Web Services (AWS) by using the link:https://aws.amazon.com/marketplace/seller-profile?id=23ec694a-d2af-4641-b4d3-b7201ab2f5f9[official listings for Neo4j] on the AWS Marketplace. The AWS Marketplace listing uses a CloudFormation template maintained by Neo4j. -The template's code is available on link:https://github.com/neo4j-partners/amazon-cloud-formation-neo4j/tree/main/marketplace[GitHub^] and can be customized to meet more complex or bespoke use cases. +The template's code is available on link:https://github.com/neo4j-partners/amazon-cloud-formation-neo4j/tree/main/marketplace[GitHub] and can be customized to meet more complex or bespoke use cases. [NOTE] @@ -16,7 +16,7 @@ The Neo4j AWS Marketplace listings (and listings on GitHub) use CloudFormation t == Supported Neo4j versions -The Neo4j link:https://aws.amazon.com/marketplace/seller-profile?id=23ec694a-d2af-4641-b4d3-b7201ab2f5f9[AWS marketplace listing^] can be configured to deploy either Neo4j Enterprise Edition 5 or 4.4. +The Neo4j link:https://aws.amazon.com/marketplace/seller-profile?id=23ec694a-d2af-4641-b4d3-b7201ab2f5f9[AWS marketplace listing] can be configured to deploy either Neo4j Enterprise Edition 5 or 4.4. The CloudFormation template always installs the latest available version. == Neo4j CloudFormation template @@ -32,7 +32,7 @@ The Neo4j CloudFormation template takes several parameters as inputs, deploys a === Important considerations * The deployment of cloud resources will incur costs. -** Refer to the link:https://calculator.aws/#[AWS pricing calculator^]for more information. +** Refer to the link:https://calculator.aws[AWS pricing calculator]for more information. * The Neo4j CloudFormation template deploys a new VPC. ** AWS accounts are limited to an initial quota of 5 VPCs (you can view your current quota by viewing the *Limits* page of the Amazon EC2 console). @@ -258,7 +258,7 @@ When deploying Neo4j, users are required to confirm that they either have an ent If you require the Enterprise version of either Graph Data Science or Bloom, you need to provide a key issued by Neo4j as this will be required during the installation. -To obtain a valid license for either Neo4j, Bloom, or GDS, reach out to your Neo4j account representative or get in touch using the link:https://neo4j.com/contact-us/[contact form^]. +To obtain a valid license for either Neo4j, Bloom, or GDS, reach out to your Neo4j account representative or get in touch using the link:https://neo4j.com/contact-us/[contact form]. == Delete CloudFormation Stack and destroy resources diff --git a/modules/ROOT/pages/cloud-deployments/neo4j-azure.adoc b/modules/ROOT/pages/cloud-deployments/neo4j-azure.adoc index 9acef4277..bb080163a 100644 --- a/modules/ROOT/pages/cloud-deployments/neo4j-azure.adoc +++ b/modules/ROOT/pages/cloud-deployments/neo4j-azure.adoc @@ -5,7 +5,7 @@ Neo4j can be easily deployed on Virtual Machine instances in Microsoft Azure by using the link:https://azuremarketplace.microsoft.com/en-us/marketplace/apps/neo4j.neo4j-ee?tab=Overview[official listing for Neo4j Enterprise] on the Azure Marketplace. The Azure Marketplace listing uses an Azure Resource Manager (ARM) template maintained by Neo4j. -The template's code is available on link:https://github.com/neo4j-partners/azure-resource-manager-neo4j/tree/main/marketplace[GitHub^] and can be customized to meet more complex or bespoke use cases. +The template's code is available on link:https://github.com/neo4j-partners/azure-resource-manager-neo4j/tree/main/marketplace[GitHub] and can be customized to meet more complex or bespoke use cases. [NOTE] @@ -16,7 +16,7 @@ The Neo4j Azure Marketplace listings (and listings on GitHub) use Azure Resource == Supported Neo4j versions -The Neo4j link:https://azuremarketplace.microsoft.com/en-us/marketplace/apps/neo4j.neo4j-ee?tab=Overview[Azure marketplace listing^] can be configured to deploy either Neo4j Enterprise Edition 5 or 4.4. +The Neo4j link:https://azuremarketplace.microsoft.com/en-us/marketplace/apps/neo4j.neo4j-ee?tab=Overview[Azure marketplace listing] can be configured to deploy either Neo4j Enterprise Edition 5 or 4.4. The ARM template always installs the latest available version. == Neo4j ARM template @@ -28,7 +28,7 @@ The Neo4j ARM template takes several parameters as inputs, deploys a set of clou === Important considerations * The deployment of cloud resources incurs costs. -** Refer to the link:https://azure.microsoft.com/en-gb/pricing/calculator/[Azure pricing calculator^]for more information. +** Refer to the link:https://azure.microsoft.com/en-gb/pricing/calculator/[Azure pricing calculator]for more information. * You need to create a resource group. ** You need to choose an empty resource group or create a new one. @@ -135,7 +135,7 @@ When deploying Neo4j, users are required to confirm that they either have an ent If you require the Enterprise version of either Graph Data Science or Bloom, you need to provide a key issued by Neo4j as this will be required during the installation. -To obtain a valid license for either Neo4j, Bloom, or GDS, reach out to your Neo4j account representative or get in touch using the link:https://neo4j.com/contact-us/[contact form^]. +To obtain a valid license for either Neo4j, Bloom, or GDS, reach out to your Neo4j account representative or get in touch using the link:https://neo4j.com/contact-us/[contact form]. == Delete Azure deployment Stack and destroy resources diff --git a/modules/ROOT/pages/cloud-deployments/neo4j-gcp.adoc b/modules/ROOT/pages/cloud-deployments/neo4j-gcp.adoc index 059597e99..995e51b3b 100644 --- a/modules/ROOT/pages/cloud-deployments/neo4j-gcp.adoc +++ b/modules/ROOT/pages/cloud-deployments/neo4j-gcp.adoc @@ -2,10 +2,10 @@ [[gcp]] = Neo4j on GCP -Neo4j Edition can be easily deployed on Virtual Machines in Google Cloud Platform (GCP) by using the link:https://console.cloud.google.com/marketplace/product/neo4j/neo4j-enterprise-edition[official listing for Neo4j Enterprise Edition] or https://console.cloud.google.com/marketplace/product/neo4j/neo4j-community-edition?project=cohesive-point-368015[Neo4j Community Edition] on the GCP Marketplace]. +Neo4j Edition can be easily deployed on Virtual Machines in Google Cloud Platform (GCP) by using the link:https://console.cloud.google.com/marketplace/product/neo4j/neo4j-enterprise-edition[official listing for Neo4j Enterprise Edition] or link:https://console.cloud.google.com/marketplace/product/neo4j/neo4j-community-edition?project=cohesive-point-368015[Neo4j Community Edition] on the GCP Marketplace]. The GCP Marketplace listing uses a Deployment Manager template maintained by Neo4j. -The template's code is available on link:https://github.com/neo4j-partners/google-deployment-manager-neo4j[GitHub^] and can be customized to meet more complex or bespoke use cases. +The template's code is available on link:https://github.com/neo4j-partners/google-deployment-manager-neo4j[GitHub] and can be customized to meet more complex or bespoke use cases. [NOTE] @@ -16,7 +16,7 @@ The Neo4j GCP Marketplace listings (and listings on GitHub) use Deployment Manag == Supported Neo4j versions -The Neo4j link:https://console.cloud.google.com/marketplace/product/neo4j/neo4j-enterprise-edition[GCP marketplace listing^] can be configured to deploy either Neo4j Enterprise Edition 5, or 4.4, or Neo4j Community Edition 5. +The Neo4j link:https://console.cloud.google.com/marketplace/product/neo4j/neo4j-enterprise-edition[GCP marketplace listing] can be configured to deploy either Neo4j Enterprise Edition 5, or 4.4, or Neo4j Community Edition 5. The Deployment Manager template always installs the latest available version. == Neo4j Deployment Manager template @@ -27,7 +27,7 @@ The Neo4j Deployment Manager template takes several parameters as inputs, deploy === Important considerations * The deployment of cloud resources incurs costs. -** Refer to the link:https://cloud.google.com/products/calculator/[GCP pricing calculator^]for more information. +** Refer to the link:https://cloud.google.com/products/calculator/[GCP pricing calculator]for more information. * The Neo4j Deployment Manager template deploys a new VPC, containing a single subnet based in the requested region. ** Unlike Azure and AWS where subnets are aligned to specific zones, GCP subnets are regional (and VPCs are global). @@ -128,7 +128,7 @@ When deploying Neo4j, you are required to confirm that you either have an Enterp If you require the Enterprise version of either Graph Data Science or Bloom, you need to provide a key issued by Neo4j as this is required during the installation. -To obtain a valid license for either Neo4j, Bloom, or GDS, reach out to your Neo4j account representative or get in touch using the link:https://neo4j.com/contact-us/[contact form^]. +To obtain a valid license for either Neo4j, Bloom, or GDS, reach out to your Neo4j account representative or get in touch using the link:https://neo4j.com/contact-us/[contact form]. == Delete deployment and destroy resources diff --git a/modules/ROOT/pages/clustering/clustering-advanced/reconciler.adoc b/modules/ROOT/pages/clustering/clustering-advanced/reconciler.adoc index e8fdb1723..050652435 100644 --- a/modules/ROOT/pages/clustering/clustering-advanced/reconciler.adoc +++ b/modules/ROOT/pages/clustering/clustering-advanced/reconciler.adoc @@ -17,7 +17,7 @@ Executing an operation and getting back a successful response means that the req Servers can become aware the same operation at different times, since the `system` database is just another Raft group, where followers and replicas can lag behind the leader in some situations. Eventually, the new state gets propagated to all healthy servers, and they take action on it. -If you want to be sure that each server has processed an administrative operation before running the next action, you can use the link:{neo4j-docs-base-uri}/cypher-manual/current/administration/databases/#administration-wait-nowait[`WAIT`] keyword. +If you want to be sure that each server has processed an administrative operation before running the next action, you can use the xref:database-administration/standard-databases/wait-options.adoc[`WAIT`] keyword. `WAIT` makes the statement not return until all servers have seen the transaction, and their reconciler has finished processing it. .Example of database creation with `WAIT` @@ -40,6 +40,6 @@ For instance, some servers might be offline when a database is created, or a dis In this situation, the operation has not _failed_ as a whole, since the database may even be running (although with less fault tolerance than you intended). Some failed operations can just be re-tried: for example, `START DATABASE` can be re-run if not all members started successfully, and you think the cause of that has been resolved. -Other failures only require the underlying problem to be resolved. +Other failures only require the underlying problem to be resolved. When the issue is fixed, the reconciler will make the intended change, because it is still trying to achieve the requested state. For example, if a new server fails during a `DEALLOCATE DATABASES FROM SERVER` (meaning a database cannot be safely moved), fixing the new server should be enough to resolve the problem, as the new server will start its copy of the database as soon as the target is ready, allowing the deallocating server to shut down its copy. diff --git a/modules/ROOT/pages/clustering/databases.adoc b/modules/ROOT/pages/clustering/databases.adoc index 960621491..f4f9143d3 100644 --- a/modules/ROOT/pages/clustering/databases.adoc +++ b/modules/ROOT/pages/clustering/databases.adoc @@ -5,7 +5,7 @@ = Managing databases in a cluster When creating a database or altering it after creation, you can set the number of both primary and secondary servers to host your database. -To specify the initial topology, use the command `CREATE DATABASE`. +To specify the initial topology, use the command `CREATE DATABASE`. To change the topology once the database is created, run the `ALTER DATABASE` command. If a database is no longer needed, the command `DROP DATABASE` deletes the database from the cluster. @@ -113,7 +113,7 @@ See xref:clustering/databases.adoc#cluster-seed[Seed a cluster] further on for i Also, it is possible to automatically transition _from_ a topology with a single primary host to multiple primary hosts. Keep in mind that during such a transition, the database is unavailable for a short period of time. -If the `ALTER DATABASE` command decreases the number of allocations of a database, allocations on xref:clustering/servers.adoc#cordoned-state[cordoned servers] are removed first. +If the `ALTER DATABASE` command decreases the number of allocations of a database, allocations on xref:clustering/servers.adoc#_cordoned_state[cordoned servers] are removed first. .Query [source, cypher] diff --git a/modules/ROOT/pages/clustering/disaster-recovery.adoc b/modules/ROOT/pages/clustering/disaster-recovery.adoc index 655509a92..c8e522940 100644 --- a/modules/ROOT/pages/clustering/disaster-recovery.adoc +++ b/modules/ROOT/pages/clustering/disaster-recovery.adoc @@ -96,7 +96,7 @@ Because both of these steps are executed by modifying the `system` database, mak ==== Verifying the state -The `system` database's write availability can be verified by using the xref:clustering/monitoring/status-check.adoc#monitoring-replication[Status check] procedure. +The `system` database's write availability can be verified by using the xref:clustering/monitoring/status-check.adoc[Status check] procedure. [source, shell] ---- @@ -211,7 +211,7 @@ A database can be set to `READ-ONLY` before it is started to avoid updates on th ===== . On each server, run `CALL dbms.cluster.statusCheck([])` to check the write availability for all databases running in primary mode on this server. -See xref:clustering/monitoring/status-check.adoc#monitoring-replication[Monitoring replication] for more information. +See xref:clustering/monitoring/status-check.adoc[Monitoring replication] for more information. + [NOTE] ===== @@ -264,7 +264,7 @@ Therefore, an allocation with `currentStatus` = `starting` will probably reach t [[example-verification]] ==== Verifying the state -You can verify all clustered databases' write availability by using the xref:clustering/monitoring/status-check.adoc#monitoring-replication[status check] procedure. +You can verify all clustered databases' write availability by using the xref:clustering/monitoring/status-check.adoc[status check] procedure. [source, shell] ---- diff --git a/modules/ROOT/pages/clustering/monitoring/status-check.adoc b/modules/ROOT/pages/clustering/monitoring/status-check.adoc index 76724d9a0..6556055c7 100644 --- a/modules/ROOT/pages/clustering/monitoring/status-check.adoc +++ b/modules/ROOT/pages/clustering/monitoring/status-check.adoc @@ -1,7 +1,6 @@ :description: This section describes how to monitor a database's availability with the help of the cluster status check procedure. :page-role: enterprise-edition -[[monitoring-replication]] = Monitor replication status The xref:procedures.adoc#procedure_dbms_cluster_statusCheck[`dbms.cluster.statusCheck()`] procedure can be used to monitor the ability to replicate in clustered databases. diff --git a/modules/ROOT/pages/clustering/servers.adoc b/modules/ROOT/pages/clustering/servers.adoc index b2ae9476a..2ce4ce6ea 100644 --- a/modules/ROOT/pages/clustering/servers.adoc +++ b/modules/ROOT/pages/clustering/servers.adoc @@ -93,7 +93,6 @@ When a server is in the deallocated state, it no longer hosts any databases besi Additionally, deallocated servers cannot have any further databases allocated to them. Note that there is a known situation in which a previously deallocated offline server can transiently show as deallocating when restarting, it will, however, eventually return to the deallocated state without intervention. -[cordoned-state] === Cordoned state The _Cordoned_ state is similar to _Deallocating_ in that servers in this state will not be allocated to host additional databases. @@ -323,7 +322,7 @@ Once enabled, a server does not automatically host databases unless: * Another server is transitioned to the _Deallocating_ state. * You explicitly rebalance the databases across the cluster. -The command `REALLOCATE DATABASE[S]` can be used to rebalance database allocations across the cluster, adding some to the newly added server(s), see xref:clustering/databases.adoc#_reallocate_databases[Reallocate databases] for more information. +The command `REALLOCATE DATABASE[S]` can be used to rebalance database allocations across the cluster, adding some to the newly added server(s), see xref:clustering/databases.adoc#reallocate-databases[Reallocate databases] for more information. [[removing-servers]] diff --git a/modules/ROOT/pages/clustering/setup/deploy.adoc b/modules/ROOT/pages/clustering/setup/deploy.adoc index 7a38695b0..56afb6264 100644 --- a/modules/ROOT/pages/clustering/setup/deploy.adoc +++ b/modules/ROOT/pages/clustering/setup/deploy.adoc @@ -36,7 +36,7 @@ If not specified, it defaults to zero hostings in secondary mode. ==== Any setting with the `initial` prefix is only effective on the first startup of the DBMS. Changing the default number of primaries and secondaries dynamically can only be done with the xref:procedures.adoc#procedure_dbms_setDefaultAllocationNumbers[`dbms.setDefaultAllocationNumbers`] procedure. -See xref:clustering/databases.adoc#_create_database[`CREATE DATABASE`] for more information. +See xref:clustering/databases.adoc#create-database[`CREATE DATABASE`] for more information. To view the current default settings, use the xref:procedures.adoc#procedure_dbms_showTopologyGraphConfig[`dbms.showTopologyGraphConfig`] procedure. ==== diff --git a/modules/ROOT/pages/clustering/setup/discovery.adoc b/modules/ROOT/pages/clustering/setup/discovery.adoc index 3485e8d80..82d977cd9 100644 --- a/modules/ROOT/pages/clustering/setup/discovery.adoc +++ b/modules/ROOT/pages/clustering/setup/discovery.adoc @@ -104,23 +104,23 @@ The configured server uses all the addresses from the SRV record to join or form [[clustering-discovery-k8s]] === Discovery in Kubernetes -A special case is when a cluster is running in https://kubernetes.io/[Kubernetes^] and each server is running as a Kubernetes service. -Then, the addresses of the other servers can be obtained using the List Service API, as described in the https://kubernetes.io/docs/reference/kubernetes-api/[Kubernetes API documentation^]. +A special case is when a cluster is running in link:https://kubernetes.io/[Kubernetes] and each server is running as a Kubernetes service. +Then, the addresses of the other servers can be obtained using the List Service API, as described in the link:https://kubernetes.io/docs/reference/kubernetes-api/[Kubernetes API documentation]. The following settings are used to configure for this scenario: * Set `dbms.cluster.discovery.resolver_type=K8S`. * Set `xref:configuration/configuration-settings.adoc#config_dbms.kubernetes.label_selector[dbms.kubernetes.label_selector]` to the label selector for the cluster services. -For more information, see the https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors[Kubernetes official documentation^]. +For more information, see the link:https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors[Kubernetes official documentation]. * Set xref:configuration/configuration-settings.adoc#config_dbms.kubernetes.discovery.service_port_name[`dbms.kubernetes.discovery.service_port_name]` to the name of the service port used in the Kubernetes service definition for the Core's discovery port. -For more information, see the https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/[Kubernetes official documentation^]. +For more information, see the link:https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/[Kubernetes official documentation]. With this configuration, `dbms.cluster.endpoints` is not used and any value assigned to it is ignored. [NOTE] ==== * The pod running Neo4j must use a service account that has permission to list services. -For further information, see the Kubernetes documentation on https://kubernetes.io/docs/reference/access-authn-authz/rbac/[RBAC authorization^] or https://kubernetes.io/docs/reference/access-authn-authz/abac/[ABAC authorization^]. +For further information, see the Kubernetes documentation on link:https://kubernetes.io/docs/reference/access-authn-authz/rbac/[RBAC authorization] or link:https://kubernetes.io/docs/reference/access-authn-authz/abac/[ABAC authorization]. * The configured `server.cluster.advertised_address` must exactly match the Kubernetes-internal DNS name, which is of the form `..svc.cluster.local`. ==== diff --git a/modules/ROOT/pages/configuration/configuration-settings.adoc b/modules/ROOT/pages/configuration/configuration-settings.adoc index eb7773edf..4ba240cc4 100644 --- a/modules/ROOT/pages/configuration/configuration-settings.adoc +++ b/modules/ROOT/pages/configuration/configuration-settings.adoc @@ -3,7 +3,7 @@ :description: This page provides a reference to the Neo4j configuration settings. :page-styles: hide-table-captions -The Neo4j configuration settings are set in xref::/configuration/file-locations.adoc#file-locations[_neo4j.conf_]. +The Neo4j configuration settings are set in xref::/configuration/file-locations.adoc[_neo4j.conf_]. Refer to xref:configuration/neo4j-conf.adoc#_configuration_settings[The neo4j.conf file] for details on how to use configuration settings. For lists of deprecated and removed configuration settings in 2025.x, refer to the page xref:changes-deprecations-removals.adoc[Changes, deprecations, and removals in Neo4j 2025.x]. @@ -1843,7 +1843,7 @@ m|+++OFF+++ |=== For some queries, the planner can infer predicates such as labels or types from the graph structure that can improve estimating the number of rows that each operator produces. -for more information, see link:{neo4j-docs-base-uri}/cypher-manual/current/planning-and-tuning/execution-plans/#runtimes-reading-execution-plans[Cypher Manual -> Execution plans and query tuning -> Understanding execution plans]. + +for more information, see link:{neo4j-docs-base-uri}/cypher-manual/current/planning-and-tuning/execution-plans/[Cypher Manual -> Execution plans and query tuning -> Understanding execution plans]. + For details on how to configure this setting on a per-query basis,effectively overriding this setting on that particular query, see link:{neo4j-docs-base-uri}/cypher-manual/current/planning-and-tuning/query-tuning/#cypher-infer-schema-parts[Cypher Manual -> Query tuning -> Cypher infer schema parts]. // In general, inferring more information should improve the estimation and thereby the planner's decisions. @@ -3332,8 +3332,8 @@ m|+++true+++ == Kubernetes settings -The Kubernetes settings are used to configure a cluster running on https://kubernetes.io/[Kubernetes^], where each server is running as a Kubernetes service. -The addresses of the other servers can be obtained using the List Service API, as described in the https://kubernetes.io/docs/reference/kubernetes-api/[Kubernetes API documentation^]. +The Kubernetes settings are used to configure a cluster running on https://kubernetes.io/[Kubernetes], where each server is running as a Kubernetes service. +The addresses of the other servers can be obtained using the List Service API, as described in the https://kubernetes.io/docs/reference/kubernetes-api/[Kubernetes API documentation]. For more information, see xref:clustering/setup/discovery.adoc#clustering-discovery-k8s[Discovery in Kubernetes]. @@ -4994,7 +4994,7 @@ m|+++neo4j+++ == Transaction settings The transaction settings helps you manage the transactions in your database, for example, the transaction timeout, the lock acquisition timeout, the maximum number of concurrently running transactions, etc. -For more information, see xref:/database-internals/transaction-management.adoc#_manage-transactions[Manage transactions] and xref:/database-internals/concurrent-data-access.adoc[Concurrent data access]. +For more information, see xref:/database-internals/transaction-management.adoc#_manage_transactions[Manage transactions] and xref:/database-internals/concurrent-data-access.adoc[Concurrent data access]. [role=label--dynamic] diff --git a/modules/ROOT/pages/configuration/file-locations.adoc b/modules/ROOT/pages/configuration/file-locations.adoc index 4ade23ea7..b2db0669c 100644 --- a/modules/ROOT/pages/configuration/file-locations.adoc +++ b/modules/ROOT/pages/configuration/file-locations.adoc @@ -1,6 +1,5 @@ :description: An overview of where files are stored in the different Neo4j distributions, and the necessary file permissions for running Neo4j. -[[file-locations]] = Default file locations [[neo4j-directories]] diff --git a/modules/ROOT/pages/configuration/migrate-configuration.adoc b/modules/ROOT/pages/configuration/migrate-configuration.adoc index f3026e27c..d1fe7cffc 100644 --- a/modules/ROOT/pages/configuration/migrate-configuration.adoc +++ b/modules/ROOT/pages/configuration/migrate-configuration.adoc @@ -5,7 +5,7 @@ You can use the `migrate-configuration` command to migrate a legacy Neo4j configuration file to the current format. The new version will be written in a target configuration directory. The default location for both the source and target configuration directory is the configuration directory specified by `NEO_CONF` or the default configuration directory for this installation. -Starting with Neo4j 2025.01, the root location of the configuration directory is xref:configuration/configuration-settings.adoc#_server_directories_settings.adoc#config_server.directories.configuration[`server.directories.configuration=conf`]. +Starting with Neo4j 2025.01, the root location of the configuration directory is xref:configuration/configuration-settings.adoc#config_server.directories.configuration[`server.directories.configuration=conf`]. If the source and target directories are the same, the original configuration files will be renamed. A configuration provided using `--additional-config` option will not be migrated. diff --git a/modules/ROOT/pages/configuration/neo4j-conf.adoc b/modules/ROOT/pages/configuration/neo4j-conf.adoc index 250c3ac47..ebf868058 100644 --- a/modules/ROOT/pages/configuration/neo4j-conf.adoc +++ b/modules/ROOT/pages/configuration/neo4j-conf.adoc @@ -3,7 +3,7 @@ = The neo4j.conf file The _neo4j.conf_ file is the main source of configuration settings in Neo4j and includes the mappings of configuration setting keys to values. -The location of the _neo4j.conf_ file in the different configurations of Neo4j is listed in xref:configuration/file-locations.adoc#table-file-locations[Default file locations]. +The location of the _neo4j.conf_ file in the different configurations of Neo4j is listed in xref:configuration/file-locations.adoc[Default file locations]. Most of the configuration settings in the _neo4j.conf_ file apply directly to Neo4j itself, but there are also other settings related to the Java Runtime (the JVM) on which Neo4j runs. For more information, see the xref:configuration/neo4j-conf.adoc#neo4j-conf-JVM[JVM specific configuration settings]. diff --git a/modules/ROOT/pages/configuration/plugins.adoc b/modules/ROOT/pages/configuration/plugins.adoc index ea4546e93..f4876802b 100644 --- a/modules/ROOT/pages/configuration/plugins.adoc +++ b/modules/ROOT/pages/configuration/plugins.adoc @@ -26,12 +26,12 @@ The following plugins are supported: | APOC Extended | `apoc-extended` | -| https://neo4j.com/labs/apoc/5/[APOC Extended user guide (Labs project)] +| link:https://neo4j.com/labs/apoc/5/[APOC Extended user guide (Labs project)] | APOC | `apoc` | -| https://neo4j.com/docs/apoc/current/[APOC user guide] +| link:https://neo4j.com/docs/apoc/current/[APOC user guide] | Bloom Enterprise footnote:[You can also get basic access to Bloom via Graph Apps in Neo4j Desktop without a license key. See link:{neo4j-docs-base-uri}/bloom-user-guide/current/bloom-installation/bloom-deployment-modes/[Bloom deployment modes] for more details.] | `bloom` @@ -66,12 +66,12 @@ The following plugins are supported: | Neo Semantics | `n10s` | -| https://neo4j.com/labs/nsmtx-rdf/[Neo Semantics] +| link:https://neo4j.com/labs/nsmtx-rdf/[Neo Semantics] |=== For more information on using plugins in a different Neo4j setup, see: -* link:{neo4j-docs-base-uri}/desktop-manual/current/operations/install-plugin/[Neo4j Desktop -> Install a plugin] +* link:{neo4j-docs-base-uri}/desktop-manual/current/operations/instance-management/#_install_plugins[Neo4j Desktop -> Install a plugin] * xref:docker/plugins.adoc[Docker -> Plugins] * xref:/kubernetes/plugins.adoc[Kubernetes -> Plugins] * link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/project-setup/#_build_dependencies[Java-Reference -> Setting up a plugin project]. diff --git a/modules/ROOT/pages/configuration/ports.adoc b/modules/ROOT/pages/configuration/ports.adoc index 76973bbab..63323523d 100644 --- a/modules/ROOT/pages/configuration/ports.adoc +++ b/modules/ROOT/pages/configuration/ports.adoc @@ -235,8 +235,7 @@ Default port: `2003` This is an outbound connection that enables a Neo4j instance to communicate with a Graphite server. -For further information, see xref:monitoring/metrics/reference.adoc#metrics-graphite[] and the https://graphite.readthedocs.io/en/stable/carbon-daemons.html[Graphite official documentation]. - +For further information, see xref:monitoring/metrics/expose.adoc#metrics-graphite[Expose metrics -> Graphite] and the https://graphite.readthedocs.io/en/stable/carbon-daemons.html[Graphite official documentation]. === Prometheus monitoring @@ -264,7 +263,7 @@ Default port: `3637` | `xref:configuration/configuration-settings.adoc#config_server.jvm.additional[+++server.jvm.additional=-Dcom.sun.management.jmxremote.port=3637+++]` | `3637` | Additional setting for exposing the Java Management Extensions (JMX). |=== -For further information, see link:{neo4j-docs-base-uri}/java-reference/{page-version}/jmx-metrics#jmx-metrics[Java Reference -> JMX metrics] and https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html[the official documentation on Monitoring and Management Using JMX]. +For further information, see link:{neo4j-docs-base-uri}/java-reference/{page-version}/jmx-metrics/[Java Reference -> JMX metrics] and https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html[the official documentation on Monitoring and Management Using JMX]. === Remote debugging @@ -278,4 +277,4 @@ Default port: `5005` | `xref:configuration/configuration-settings.adoc#config_server.jvm.additional[+++server.jvm.additional=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005+++]` | `:5005` | Additional setting for exposing remote debugging. |=== -For more information, see the link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/server-debugging#server-debugging[Java Reference -> Setup for remote debugging]. +For more information, see the link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/server-debugging/[Java Reference -> Setup for remote debugging]. diff --git a/modules/ROOT/pages/database-administration/aliases/manage-aliases-standard-databases.adoc b/modules/ROOT/pages/database-administration/aliases/manage-aliases-standard-databases.adoc index bbe4c09d6..a3f38143f 100644 --- a/modules/ROOT/pages/database-administration/aliases/manage-aliases-standard-databases.adoc +++ b/modules/ROOT/pages/database-administration/aliases/manage-aliases-standard-databases.adoc @@ -399,8 +399,8 @@ If `ssl_enforced` is set to true, a secure URL scheme is enforced. This will be validated when the command is executed. * connection_timeout -- for details, see xref:configuration/configuration-settings.adoc#config_dbms.routing.driver.connection.connect_timeout[dbms.routing.driver.connection.connect_timeout] * connection_max_lifetime -- for details, see xref:configuration/configuration-settings.adoc#config_dbms.routing.driver.connection.max_lifetime[dbms.routing.driver.connection.max_lifetime]. -* connection_pool_acquisition_timeout -- for details, see xref:configuration/configuration-settings.adoc#config_dbms.routing.driver.connection_pool_acquisition_timeout[dbms.routing.driver.connection_pool_acquisition_timeout]. -* connection_pool_idle_test -- for details, see xref:configuration/configuration-settings.adoc#config_dbms.routing.driver.connection_pool_idle_test[dbms.routing.driver.connection_pool_idle_test]. +* connection_pool_acquisition_timeout -- for details, see xref:configuration/configuration-settings.adoc#config_dbms.routing.driver.connection.pool.acquisition_timeout[dbms.routing.driver.connection.pool.acquisition_timeout]. +* connection_pool_idle_test -- for details, see xref:configuration/configuration-settings.adoc#config_dbms.routing.driver.connection.pool.idle_test[dbms.routing.driver.connection.pool.idle_test]. * connection_pool_max_size -- for details, see xref:configuration/configuration-settings.adoc#config_dbms.routing.driver.connection.pool.max_size[dbms.routing.driver.connection.pool.max_size]. * logging_level (For details, see xref:configuration/configuration-settings.adoc#config_dbms.routing.driver.logging.level[dbms.routing.driver.logging.level]) diff --git a/modules/ROOT/pages/database-administration/composite-databases/create-composite-databases.adoc b/modules/ROOT/pages/database-administration/composite-databases/create-composite-databases.adoc index 881b5841a..444ee6614 100644 --- a/modules/ROOT/pages/database-administration/composite-databases/create-composite-databases.adoc +++ b/modules/ROOT/pages/database-administration/composite-databases/create-composite-databases.adoc @@ -55,7 +55,7 @@ SHOW DATABASES +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ---- -For a full description of the columns returned by this command, and how to sort the results by specific columns, see xref:database-administration/standard-databases/listing-databases.adoc#manage-databases-listing-databases[Managing databases]. +For a full description of the columns returned by this command, and how to sort the results by specific columns, see xref:database-administration/standard-databases/listing-databases.adoc[List databases]. To create database aliases in the composite database, give the composite database as a namespace for the alias. For information about creating aliases in composite databases, see xref:database-administration/aliases/manage-aliases-composite-databases.adoc#create-composite-database-alias[Managing aliases in composite databases]. diff --git a/modules/ROOT/pages/database-administration/composite-databases/list-composite-databases.adoc b/modules/ROOT/pages/database-administration/composite-databases/list-composite-databases.adoc index 6ae295bdc..ae13d5d85 100644 --- a/modules/ROOT/pages/database-administration/composite-databases/list-composite-databases.adoc +++ b/modules/ROOT/pages/database-administration/composite-databases/list-composite-databases.adoc @@ -33,7 +33,7 @@ SHOW DATABASES +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ---- -For a description of all the returned columns of this command, ways in which the `SHOW DATABASE` command can be filtered, and details about the privileges required for the command, see xref:database-administration/standard-databases/listing-databases.adoc#manage-databases-list[List standard databases]. +For a description of all the returned columns of this command, ways in which the `SHOW DATABASE` command can be filtered, and details about the privileges required for the command, see xref:database-administration/standard-databases/listing-databases.adoc[List standard databases]. For composite databases, the `constituents` column is particularly interesting as it lists the aliases that make up the composite database. diff --git a/modules/ROOT/pages/database-administration/composite-databases/querying-composite-databases.adoc b/modules/ROOT/pages/database-administration/composite-databases/querying-composite-databases.adoc index 644147635..dd72497b0 100644 --- a/modules/ROOT/pages/database-administration/composite-databases/querying-composite-databases.adoc +++ b/modules/ROOT/pages/database-administration/composite-databases/querying-composite-databases.adoc @@ -113,7 +113,7 @@ In this case, once selecting `cineasts.latest`, and once selecting `cineasts.upc [[composite-databases-queries-listing-graphs]] === Listing graphs -The built-in function link:{neo4j-docs-base-uri}/cypher-manual/current/functions/query-functions#functions-graph-names[`graph.names()`] returns a list containing the names of all constituent graphs on the current Composite database. +The built-in function link:{neo4j-docs-base-uri}/cypher-manual/current/functions/#header-query-functions-graph[`graph.names()`] returns a list containing the names of all constituent graphs on the current Composite database. .The `graph.names()` function ==== @@ -316,7 +316,7 @@ RETURN m When a query is submitted to a Composite database, different parts of the query may run using different runtimes. Clauses or expressions in scopes where no graph has been specified run using the _slotted_ runtime. -Parts of the query directed to different constituent graphs are run using the default runtime for that graph, or respect the submitted link:{neo4j-docs-base-uri}/cypher-manual/current/query-tuning/query-options/#cypher-runtime[Cypher query options] if specified. +Parts of the query directed to different constituent graphs are run using the default runtime for that graph, or respect the submitted link:{neo4j-docs-base-uri}/cypher-manual/current/planning-and-tuning/query-tuning/#_query_options[Cypher query options] if specified. [[composite-databases-queries-built-in-functions]] == Built-in graph functions diff --git a/modules/ROOT/pages/database-administration/standard-databases/alter-databases.adoc b/modules/ROOT/pages/database-administration/standard-databases/alter-databases.adoc index 43d0f824f..d5e186a0a 100644 --- a/modules/ROOT/pages/database-administration/standard-databases/alter-databases.adoc +++ b/modules/ROOT/pages/database-administration/standard-databases/alter-databases.adoc @@ -117,7 +117,7 @@ The `ALTER DATABASE` command can be used to set or remove specific options for a | txLogEnrichment | FULL\|DIFF\|OFF | Defines the level of enrichment applied to transaction logs for Change Data Capture (CDC) purposes. -For details about enrichment mode, see link:{neo4j-docs-base-uri}/cdc/{page-version}/get-started/self-managed/#set-enrichment-mode/[Change Data Capture Manual -> Set the enrichment mode]. +For details about enrichment mode, see link:https://neo4j.com/docs/cdc/current/get-started/self-managed/#_modify_a_databases_cdc_mode[Change Data Capture Manual -> Modify a database’s CDC mode]. |=== [NOTE] diff --git a/modules/ROOT/pages/database-administration/standard-databases/create-databases.adoc b/modules/ROOT/pages/database-administration/standard-databases/create-databases.adoc index f94acc3f1..f53943852 100644 --- a/modules/ROOT/pages/database-administration/standard-databases/create-databases.adoc +++ b/modules/ROOT/pages/database-administration/standard-databases/create-databases.adoc @@ -109,7 +109,7 @@ For more information see xref::database-administration/standard-databases/seed-f | Defines the level of enrichment applied to transaction logs for Change Data Capture (CDC) purposes. -For details about enrichment mode, see link:{neo4j-docs-base-uri}/cdc/current/get-started/self-managed/#set-enrichment-mode/[Change Data Capture Manual -> Enable CDC on self-managed instances -> Set the enrichment mode]. +For details about enrichment mode, see link:https://neo4j.com/docs/cdc/current/get-started/self-managed/#_modify_a_databases_cdc_mode[Change Data Capture Manual -> Enable CDC on self-managed instances -> Modify a database’s CDC mode]. | `storeFormat` | `aligned` \| `standard` \| `high_limit` \| `block` diff --git a/modules/ROOT/pages/database-administration/standard-databases/listing-databases.adoc b/modules/ROOT/pages/database-administration/standard-databases/listing-databases.adoc index 7ae5defe8..c1670a6ec 100644 --- a/modules/ROOT/pages/database-administration/standard-databases/listing-databases.adoc +++ b/modules/ROOT/pages/database-administration/standard-databases/listing-databases.adoc @@ -1,5 +1,5 @@ :description: how to list databases in Neo4j, use SHOW DATABASES command, see all available databases, databases states. How to filter listed databases in Neo4j. -[[manage-databases-list]] + = List databases You can list your databases using the Cypher command `SHOW DATABASES`. diff --git a/modules/ROOT/pages/database-administration/standard-databases/upload-to-aura.adoc b/modules/ROOT/pages/database-administration/standard-databases/upload-to-aura.adoc index 268850aa6..e5780200e 100644 --- a/modules/ROOT/pages/database-administration/standard-databases/upload-to-aura.adoc +++ b/modules/ROOT/pages/database-administration/standard-databases/upload-to-aura.adoc @@ -139,7 +139,7 @@ Otherwise, the command aborts and throws an error. [CAUTION] ==== This command does not currently support https://neo4j.com/docs/aura/platform/security/secure-connections/#_vpc_isolation[private linking]. -Please https://aura.support.neo4j.com/hc/en-us/requests/new[raise a support ticket] if you have public traffic disabled and need to use this command. +Please https://support.neo4j.com/s/[raise a support ticket] if you have public traffic disabled and need to use this command. ==== [source, shell,role=nocopy] diff --git a/modules/ROOT/pages/database-internals/store-formats.adoc b/modules/ROOT/pages/database-internals/store-formats.adoc index b22bd776b..1491a2c4f 100644 --- a/modules/ROOT/pages/database-internals/store-formats.adoc +++ b/modules/ROOT/pages/database-internals/store-formats.adoc @@ -23,7 +23,7 @@ For information on store formats in Neo4j 4.4, see link:https://neo4j.com/docs/o Here’s an overview of the available formats and their features: Block:: label:enterprise-edition[]+ -* Default format unless xref:configuration/configuration-settings.adoc##config_db.format[`db.format`] is specified. +* Default format unless xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] is specified. * *Performance:* Fast queries; uses advanced data structures and inlining techniques for better data locality. * *Memory efficiency:* Optimized collocation of data, which allows more related data to be fetched by fewer read operations; enhancing resource utilization. Block format means a few pages need to be loaded to serve a query, i.e. fewer page faults and less IO. diff --git a/modules/ROOT/pages/database-internals/transaction-logs.adoc b/modules/ROOT/pages/database-internals/transaction-logs.adoc index c21696754..e35afec7e 100644 --- a/modules/ROOT/pages/database-internals/transaction-logs.adoc +++ b/modules/ROOT/pages/database-internals/transaction-logs.adoc @@ -77,7 +77,7 @@ Old transaction logs cannot be safely archived or removed by external jobs since + Log pruning is called only after checkpoint completion to ensure at least one checkpoint and points to a valid place in the transaction log data. In reality, this means that all transaction logs created between checkpoints are kept for some time, and only after a checkpoint, the pruning strategy removes them. -For more details on how to speed up checkpointing, see xref:database-internals/checkpointing.adoc#transaction-logging-log-pruning[Configure log pruning]. +For more details on how to speed up checkpointing, see xref:database-internals/checkpointing.adoc#control-log-pruning[Control transaction log pruning]. To force a checkpoint, run the procedure xref:procedures.adoc#procedure_db_checkpoint[`CALL db.checkpoint()`]. + [NOTE] diff --git a/modules/ROOT/pages/docker/docker-compose-standalone.adoc b/modules/ROOT/pages/docker/docker-compose-standalone.adoc index ff464448a..24da7a205 100644 --- a/modules/ROOT/pages/docker/docker-compose-standalone.adoc +++ b/modules/ROOT/pages/docker/docker-compose-standalone.adoc @@ -13,7 +13,7 @@ For more information, see the https://docs.docker.com/compose/install/[Install D . Create a project folder where you will store your _docker-compose.yml_ file and run your Neo4j server. . Prepare your _docker-compose.yml_ file using the following example. -For more information, see the Docker Compose official documentation on https://docs.docker.com/compose/compose-file/#service-configuration-reference[Docker Compose specification]. +For more information, see the Docker Compose official documentation on https://docs.docker.com/compose/compose-file[Docker Compose specification]. + .Example of a _docker-compose.yml_ file [source,yaml,subs="attributes+,+macros"] @@ -60,7 +60,7 @@ You can instead store your credentials in files and use them in your _docker-com neo4j/your_password ---- . Prepare your _docker-compose.yml_ file using the following example. -For more information, see the Docker Compose official documentation on https://docs.docker.com/compose/compose-file/#service-configuration-reference[Docker Compose specification]. +For more information, see the Docker Compose official documentation on https://docs.docker.com/compose/compose-file[Docker Compose specification]. + .Example of a _docker-compose.yml_ file [source,yaml,subs="attributes+,+macros"] diff --git a/modules/ROOT/pages/docker/dump-load.adoc b/modules/ROOT/pages/docker/dump-load.adoc index 2784f82c9..ffb7c9df5 100644 --- a/modules/ROOT/pages/docker/dump-load.adoc +++ b/modules/ROOT/pages/docker/dump-load.adoc @@ -48,6 +48,6 @@ docker run --interactive --tty --rm \ ==== [NOTE] -For more information on the `neo4j-admin database dump and load` syntax and options, see xref:backup-restore/offline-backup.adoc#offline-backup-command-options[`neo4j-admin database dump`] and xref:backup-restore/restore-dump.adoc#restore-dump-command[`neo4j-admin database load`]. + -For more information on managing volumes, see https://docs.docker.com/storage/volumes/[the official Docker documentation^]. +For more information on the `neo4j-admin database dump and load` syntax and options, see xref:backup-restore/offline-backup.adoc#offline-backup-command-options[`neo4j-admin database dump`] and xref:backup-restore/restore-dump.adoc[`neo4j-admin database load`]. + +For more information on managing volumes, see https://docs.docker.com/storage/volumes/[the official Docker documentation]. ==== diff --git a/modules/ROOT/pages/docker/introduction.adoc b/modules/ROOT/pages/docker/introduction.adoc index 23e4ef7f5..86f33c4e1 100644 --- a/modules/ROOT/pages/docker/introduction.adoc +++ b/modules/ROOT/pages/docker/introduction.adoc @@ -94,7 +94,7 @@ docker run \ neo4j:{neo4j-version-exact} ---- -You can try out your Neo4j container by opening _http://localhost:7474/_ (the Neo4j's Browser interface) in a web browser. +You can try out your Neo4j container by opening _\http://localhost:7474/_ (the Neo4j's Browser interface) in a web browser. By default, Neo4j requires authentication and prompts you to log in with a username/password of `neo4j/neo4j` at the first connection. You are then prompted to set a new password. diff --git a/modules/ROOT/pages/docker/mounting-volumes.adoc b/modules/ROOT/pages/docker/mounting-volumes.adoc index 4bb6b4dcf..4a6643120 100644 --- a/modules/ROOT/pages/docker/mounting-volumes.adoc +++ b/modules/ROOT/pages/docker/mounting-volumes.adoc @@ -12,7 +12,7 @@ Storage can be mounted to a container in two ways: * A folder on the host file system. * A Docker volume -- a named storage location that is managed by Docker. -For instructions on _how_ to mount storage to a Docker container, refer to the official Docker documentation link:https://docs.docker.com/storage/bind-mounts/[Bind mounts^] and link:https://docs.docker.com/storage/volumes/[Volumes^]. +For instructions on _how_ to mount storage to a Docker container, refer to the official Docker documentation link:https://docs.docker.com/storage/bind-mounts/[Bind mounts] and link:https://docs.docker.com/storage/volumes/[Volumes]. Neo4j provides several mount points for storage to simplify using Neo4j in Docker. The following sections describe the mount points and how to use them. diff --git a/modules/ROOT/pages/docker/plugins.adoc b/modules/ROOT/pages/docker/plugins.adoc index decda2079..283f3f133 100644 --- a/modules/ROOT/pages/docker/plugins.adoc +++ b/modules/ROOT/pages/docker/plugins.adoc @@ -11,7 +11,7 @@ For instructions about plugins in general see xref:configuration/plugins.adoc[Co [[docker-plugins-procedures]] == Installing plugins -To install plugins, including link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/procedures#extending-neo4j-procedures[user-defined procedures], mount the folder or volume containing the plugin JARs to `/plugins`, for example: +To install plugins, including link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/procedures[user-defined procedures], mount the folder or volume containing the plugin JARs to `/plugins`, for example: [source, shell, subs="attributes"] ---- diff --git a/modules/ROOT/pages/import.adoc b/modules/ROOT/pages/import.adoc index f13dc0fe6..67deec253 100644 --- a/modules/ROOT/pages/import.adoc +++ b/modules/ROOT/pages/import.adoc @@ -25,7 +25,7 @@ See link:{neo4j-docs-base-uri}/cypher-manual/current/clauses/load-csv/[Cypher Ma [NOTE] ==== Change Data Capture does **not** capture any data changes resulting from the use of `neo4j-admin database import`. -See link:{neo4j-docs-base-uri}/cdc/current/get-started/self-managed/#non-tx-log-changes/[Change Data Capture -> Key considerations] for more information. +See link:{neo4j-docs-base-uri}/cdc/current/get-started/self-managed/#non-tx-log-changes[Change Data Capture -> Key considerations] for more information. ==== == Overview @@ -1276,7 +1276,7 @@ The max length of property keys for block format is 16,383 characters. Use one of `int`, `long`, `float`, `double`, `boolean`, `byte`, `short`, `char`, `string`, `point`, `date`, `localtime`, `time`, `localdatetime`, `datetime`, and `duration` to designate the data type for properties. By default, types (except arrays) are converted to Cypher types. -See link:{neo4j-docs-base-uri}/cypher-manual/current/values-and-types/property-structural-constructed/#_property_types[Cypher Manual -> Property, structural, and constructed values]. +See link:{neo4j-docs-base-uri}/cypher-manual/current/values-and-types/property-structural-constructed[Cypher Manual -> Property, structural, and constructed values]. This behavior can be disabled using the option `--normalize-types=false`. Normalizing types can require more space on disk, but avoids Cypher converting the type during queries. diff --git a/modules/ROOT/pages/installation/linux/debian.adoc b/modules/ROOT/pages/installation/linux/debian.adoc index 048fbbbc8..81f63fdfa 100644 --- a/modules/ROOT/pages/installation/linux/debian.adoc +++ b/modules/ROOT/pages/installation/linux/debian.adoc @@ -109,7 +109,7 @@ sudo apt-get install neo4j=1:{neo4j-version-exact} sudo apt-get install neo4j-enterprise=1:{neo4j-version-exact} ---- -Note that the version includes an epoch version component (`1:`), following the https://www.debian.org/doc/debian-policy/#s-f-version[Debian policy on versioning]. +Note that the version includes an epoch version component (`1:`), following the https://www.debian.org/doc/debian-policy[Debian policy on versioning]. When installing Neo4j Enterprise Edition, you will be prompted to accept the license agreement. Once the license agreement is accepted installation begins. @@ -142,7 +142,7 @@ If you cannot reach `https://debian.neo4j.com`, perhaps due to a firewall, you n ==== It is important to note that using this method will mean that the offline machine will not receive the dependencies that are normally downloaded and installed automatically when using `apt` for installing Neo4j; xref:cypher-shell.adoc[Cypher Shell] and Java (if not installed already): -* The Cypher Shell package can be downloaded from {neo4j-download-center-uri}[Neo4j Deployment Center]. +* The Cypher Shell package can be downloaded from link:{neo4j-download-center-uri}[Neo4j Deployment Center]. * For information on supported versions of Java, see xref:installation/requirements.adoc[System requirements]. ==== diff --git a/modules/ROOT/pages/installation/linux/index.adoc b/modules/ROOT/pages/installation/linux/index.adoc index 6a922e22d..3b5c2e135 100644 --- a/modules/ROOT/pages/installation/linux/index.adoc +++ b/modules/ROOT/pages/installation/linux/index.adoc @@ -2,28 +2,14 @@ [[linux-installation]] = Linux installation -You can install Neo4j on Linux using Debian or RPM packages, or from a Tar archive. +You can install Neo4j on Linux using Debian or RPM packages, or from a TAR archive. -This section describes the following: +This section describes how to: -* xref:installation/linux/debian.adoc[Install Neo4j on Debian and Debian-based distributions] -** xref:installation/linux/debian.adoc#debian-installation[Installation] -** xref:installation/linux/debian.adoc#debian-file-locations[File locations] -** xref:installation/linux/debian.adoc#debian-operation[Operation] -* xref:installation/linux/rpm.adoc[Deploy Neo4j using the Neo4j RPM package] -** xref:installation/linux/rpm.adoc#linux-rpm-install[Install on Red Hat, CentOS, Fedora or Amazon Linux] -*** xref:installation/linux/rpm.adoc#linux-rpm-install-standard[Standard installation] -*** xref:installation/linux/rpm.adoc#linux-rpm-install-noninteractive[Non-interactive installation of Neo4j Enterprise Edition] -** xref:installation/linux/rpm.adoc#linux-rpm-suse[Install on SUSE] -** xref:installation/linux/rpm.adoc#linux-rpm-install-offline-installation[Offline installation] -* xref:installation/linux/tarball.adoc[Install Neo4j on Linux from a tarball] -** xref:installation/linux/tarball.adoc#unix-console[Unix console application] -** xref:installation/linux/tarball.adoc#installation-linux-tarball-service[Linux service] -** xref:installation/linux/tarball.adoc#linux-open-files[Setting the number of open files] -* xref:installation/linux/systemd.adoc[Install Neo4j as a system service] -** xref:installation/linux/systemd.adoc#linux-service-config[Configuration] -** xref:installation/linux/systemd.adoc#linux-service-control[Controlling the service] -** xref:installation/linux/systemd.adoc#linux-service-log[Log] +* xref:installation/linux/debian.adoc[Install Neo4j on Debian and Debian-based distributions (.deb)] using the Neo4j Debian package. +* xref:installation/linux/rpm.adoc[Install Neo4j on Red Hat, CentOS, Fedora, and Amazon Linux (.rpm)] using the Neo4j RPM package. +* xref:installation/linux/tarball.adoc[Install Neo4j on Linux from a tarball] and run it as a console application or a service. +* xref:installation/linux/systemd.adoc[Configure and operate the Neo4j system service]. diff --git a/modules/ROOT/pages/installation/linux/tarball.adoc b/modules/ROOT/pages/installation/linux/tarball.adoc index a0a01daef..ac2a7e43d 100644 --- a/modules/ROOT/pages/installation/linux/tarball.adoc +++ b/modules/ROOT/pages/installation/linux/tarball.adoc @@ -8,7 +8,7 @@ Before you install Neo4j on Linux from a tarball and run it as a console applica == Install Neo4j from a tarball . If it is not already installed, get link:https://openjdk.java.net/[OpenJDK 21] or link:https://www.oracle.com/technetwork/java/javase/downloads/index.html[Oracle Java 21]. -. Download the latest Neo4j tarball from link:{neo4j-download-center-uri}/?gdb-selfmanaged[Neo4j Deployment Center] and unpack it: +. Download the latest Neo4j tarball from link:link:{neo4j-download-center-uri}/?gdb-selfmanaged[Neo4j Deployment Center] and unpack it: + [source, shell, subs="attributes"] ---- @@ -68,7 +68,7 @@ For more information, see xref:configuration/set-initial-password.adoc[]. . Start Neo4j: * To run Neo4j as a console application, use: `/bin/neo4j console`. * To run Neo4j in a background process, use: `/bin/neo4j start`. -. Open http://localhost:7474 in your web browser. +. Open _\http://localhost:7474/_ in your web browser. . Connect using the username `neo4j` with your password or the default password `neo4j`. You will then be prompted to change the password. . Stop the server by typing `Ctrl-C` in the console. diff --git a/modules/ROOT/pages/installation/neo4j-desktop.adoc b/modules/ROOT/pages/installation/neo4j-desktop.adoc index cafc3147e..79c21ac58 100644 --- a/modules/ROOT/pages/installation/neo4j-desktop.adoc +++ b/modules/ROOT/pages/installation/neo4j-desktop.adoc @@ -9,7 +9,7 @@ Neo4j Desktop is a convenient way for developers to work with local Neo4j databa Neo4j Desktop is not suited for production environments. ==== -To install Neo4j Desktop, go to link:{neo4j-download-center-uri}[Neo4j Deployment Center] and follow the instructions. +To install Neo4j Desktop, go to link:link:{neo4j-download-center-uri}[Neo4j Deployment Center] and follow the instructions. [TIP] ==== diff --git a/modules/ROOT/pages/installation/osx.adoc b/modules/ROOT/pages/installation/osx.adoc index e7ae1030c..611267318 100644 --- a/modules/ROOT/pages/installation/osx.adoc +++ b/modules/ROOT/pages/installation/osx.adoc @@ -8,11 +8,11 @@ Before you install Neo4j on macOS, check xref:installation/requirements.adoc[Sys [[osx-console]] == Unix console application -. If it is not already installed, get link:https://openjdk.java.net/[OpenJDK 21] or link:https://www.azul.com/downloads/?package=jdk#zulul[ZuluJDK 21]. -. Download the latest release from {neo4j-download-center-uri}[Neo4j Deployment Center]. +. If it is not already installed, get link:https://openjdk.java.net/[OpenJDK 21] or link:https://www.azul.com/downloads/[ZuluJDK 21]. +. Download the latest release from link:{neo4j-download-center-uri}[Neo4j Deployment Center]. + Select the appropriate tar.gz distribution for your platform. -. Make sure to download Neo4j from {neo4j-download-center-uri}[Neo4j Deployment Center] and always check that the SHA hash of the downloaded file is correct: +. Make sure to download Neo4j from link:{neo4j-download-center-uri}[Neo4j Deployment Center] and always check that the SHA hash of the downloaded file is correct: .. To find the correct SHA hash, go to Neo4j Deployment Center and click on `SHA-256` which will be located below your downloaded file. .. Using the appropriate commands for your platform, display the `SHA-256` hash for the file that you downloaded. .. Ensure that the two are identical. @@ -45,7 +45,7 @@ For more information, see xref:configuration/set-initial-password.adoc[]. . Start Neo4j: * To run Neo4j as a console application, use: `$NEO4J_HOME/bin/neo4j console`. * To run Neo4j in a background process, use: `$NEO4J_HOME/bin/neo4j start`. -. Open http://localhost:7474 in your web browser. +. Open _\http://localhost:7474/_ in your web browser. . Connect using the username `neo4j` with your password or the default password `neo4j`. You will then be prompted to change the password. . Stop the server by typing `Ctrl-C` in the console. diff --git a/modules/ROOT/pages/installation/windows.adoc b/modules/ROOT/pages/installation/windows.adoc index 3b739023c..9394ce0ef 100644 --- a/modules/ROOT/pages/installation/windows.adoc +++ b/modules/ROOT/pages/installation/windows.adoc @@ -9,7 +9,7 @@ Before you install Neo4j on Windows, check xref:installation/requirements.adoc[S == Windows console application . If it is not already installed, get link:https://openjdk.java.net/[OpenJDK 21] or link:https://www.oracle.com/technetwork/java/javase/downloads/index.html[Oracle Java 21]. -. Download the latest release from {neo4j-download-center-uri}[Neo4j Deployment Center]. +. Download the latest release from link:link:{neo4j-download-center-uri}[Neo4j Deployment Center]. + Select the appropriate ZIP distribution. . Check that the SHA hash of the downloaded file is correct: @@ -45,7 +45,7 @@ For more information, see xref:configuration/set-initial-password.adoc[]. * To run Neo4j as a console application, use: `$NEO4J_HOME\bin\neo4j console`. * To install Neo4j as a service use: `$NEO4J_HOME\bin\neo4j windows-service install`. For additional commands and to learn about the Windows PowerShell module included in the Zip file, see xref:installation/windows.adoc#powershell[Windows PowerShell module]. -. Open http://localhost:7474 in your web browser. +. Open _\http://localhost:7474/_ in your web browser. . Connect using the username `neo4j` with your password or the default password `neo4j`. You will then be prompted to change the password. . Stop the server by typing `Ctrl-C` in the console. @@ -123,7 +123,7 @@ The Neo4j PowerShell module allows administrators to: * Install, start, and stop Neo4j Windows® Services. * Start tools, such as `Neo4j Admin` and `Cypher Shell`. -The PowerShell module is installed as part of the https://neo4j.com/download/other-releases/#releases[ZIP file] distributions of Neo4j. +The PowerShell module is installed as part of the https://neo4j.com/deployment-center/[ZIP file] distributions of Neo4j. [[powershell-requirements]] diff --git a/modules/ROOT/pages/kubernetes/accessing-neo4j-ingress.adoc b/modules/ROOT/pages/kubernetes/accessing-neo4j-ingress.adoc index bca31a8ed..b68da63b3 100644 --- a/modules/ROOT/pages/kubernetes/accessing-neo4j-ingress.adoc +++ b/modules/ROOT/pages/kubernetes/accessing-neo4j-ingress.adoc @@ -94,7 +94,7 @@ kubectl get all, pvc, pv, configmaps, secrets You also need to have an Ingress controller for the Kubernetes Ingress to work. The following steps use the _Nginx Ingress Controller_. -See link:https://kubernetes.github.io/ingress-nginx/user-guide/[Ingress-Nginx Controller official documentation] for more information. +See link:https://kubernetes.github.io/ingress-nginx/[Ingress-Nginx Controller official documentation] for more information. If you do not have one, you can use the following command to install it: @@ -202,7 +202,7 @@ helm install rp neo4j/neo4j-reverse-proxy -f /path/to/your/ingress-values.yaml ---- kubectl get ingress/rp-reverseproxy-ingress -n default -o jsonpath='{.status.loadBalancer.ingress[0].ip}' ---- -. Open Neo4j Browser on _https://INGRESS_IP:443_ or _http://INGRESS_IP:80_ and log in with your credentials. +. Open Neo4j Browser on _\https://INGRESS_IP:443_ or _\http://INGRESS_IP:80_ and log in with your credentials. == Access your data via Cypher Shell diff --git a/modules/ROOT/pages/kubernetes/accessing-neo4j.adoc b/modules/ROOT/pages/kubernetes/accessing-neo4j.adoc index 77fc6daf9..07c95ba14 100644 --- a/modules/ROOT/pages/kubernetes/accessing-neo4j.adoc +++ b/modules/ROOT/pages/kubernetes/accessing-neo4j.adoc @@ -295,7 +295,7 @@ If the Kubernetes `LoadBalancer` implementation that you are using supports sett If a static IP address is not explicitly set, then Kubernetes does not guarantee that a dynamically assigned IP address will not change. When exposing a Neo4j database on the Internet, it is recommended to use a static IP and configure SSL on the exposed services. -For more information, see xref:kubernetes/configuration.adoc#configure-ssl[Configure SSL]. +For more information, see xref:kubernetes/security.adoc[Configuring SSL]. If you have static IPs, you can associate DNS with them and obtain trusted certificates. diff --git a/modules/ROOT/pages/kubernetes/authentication-authorization.adoc b/modules/ROOT/pages/kubernetes/authentication-authorization.adoc index 84ca9bba3..3bc6e00dd 100644 --- a/modules/ROOT/pages/kubernetes/authentication-authorization.adoc +++ b/modules/ROOT/pages/kubernetes/authentication-authorization.adoc @@ -46,7 +46,7 @@ For more information on how to configure your identity provider and what setting config: dbms.security.oidc.azure.audience: "00f3a7d3-d855-4849-9e3c-57d7b6e12794" dbms.security.oidc.azure.params: "client_id=00f3a7d3-d855-4849-9e3c-57d7b6e12794;response_type=code;scope=openid profile email" - dbms.security.oidc.azure.well_known_discovery_uri: "https://login.microsoftonline.com/da501982-4ca7-420c-8926-1e65b5bf565f/v2.0/.well-known/openid-configuration" + dbms.security.oidc.azure.well_known_discovery_uri: "https://portal.azure.comda501982-4ca7-420c-8926-1e65b5bf565f/v2.0/.well-known/openid-configuration" dbms.security.authorization_providers: "oidc-azure,native" dbms.security.authentication_providers: "oidc-azure,native" dbms.security.oidc.azure.display_name: "Azure SSO on K8s" @@ -64,7 +64,7 @@ config: Other claims, such as `email` or `preferred_username`, may change over time and should *not* be used for authentication. Neo4j may assign permissions to a user based on this username value in a hybrid authorization configuration. Thus, changing the username claim from `sub` is not recommended. -For details, see https://learn.microsoft.com/en-us/azure/active-directory/develop/id-tokens#using-claims-to-reliably-identify-a-user-subject-and-object-id[Microsoft documentation] as well as the https://openid.net/specs/openid-connect-core-1_0.html#ClaimStability[OpenId spec]. +For details, see link:https://learn.microsoft.com/en-us/azure/active-directory/develop/id-tokens[Microsoft documentation] as well as the link:https://openid.net/specs/openid-connect-core-1_0.html#ClaimStability[OpenId spec]. ==== [[k8s-service-accounts]] diff --git a/modules/ROOT/pages/kubernetes/configuration.adoc b/modules/ROOT/pages/kubernetes/configuration.adoc index c3d21701c..8339283ab 100644 --- a/modules/ROOT/pages/kubernetes/configuration.adoc +++ b/modules/ROOT/pages/kubernetes/configuration.adoc @@ -10,7 +10,7 @@ The customized configuration should be expressed declaratively in a YAML formatt For more information, see link:https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing[Helm official documentation]. ==== -[[si-config-parameters]] +[[important-config-parameters]] == Important configuration parameters The following is a list of the most important configuration parameters for the Neo4j Helm chart. diff --git a/modules/ROOT/pages/kubernetes/multi-dc-cluster/aks.adoc b/modules/ROOT/pages/kubernetes/multi-dc-cluster/aks.adoc index e3691aa37..e46bbff4f 100644 --- a/modules/ROOT/pages/kubernetes/multi-dc-cluster/aks.adoc +++ b/modules/ROOT/pages/kubernetes/multi-dc-cluster/aks.adoc @@ -647,7 +647,7 @@ server-1-0 1/1 Running 0 4m51s You create an application gateway to access the Neo4j cluster from outside the AKS clusters. -. Log in to the https://portal.azure.com/#home[Azure portal]. +. Log in to the link:https://portal.azure.com[Azure portal]. . In the *Search resources* area, look for Application Gateway. + The Load balancing | Application Gateway window opens. . Click the *Create* button. diff --git a/modules/ROOT/pages/kubernetes/operations/backup-restore.adoc b/modules/ROOT/pages/kubernetes/operations/backup-restore.adoc index 3d88428c2..eb5173f9b 100644 --- a/modules/ROOT/pages/kubernetes/operations/backup-restore.adoc +++ b/modules/ROOT/pages/kubernetes/operations/backup-restore.adoc @@ -931,7 +931,7 @@ For Neo4j cluster deployments, you run the Cypher command `CREATE DATABASE name` ---- CREATE DATABASE neo4j; ---- -. Open the browser at _http://:7474/browser/_ and check that all data has been successfully restored. +. Open the browser at _\http://:7474/browser/_ and check that all data has been successfully restored. . Execute a Cypher command against the `neo4j` database, for example: + [source, cypher, role='noheader'] diff --git a/modules/ROOT/pages/kubernetes/operations/scaling.adoc b/modules/ROOT/pages/kubernetes/operations/scaling.adoc index 17e69bd92..fb2e11a1c 100644 --- a/modules/ROOT/pages/kubernetes/operations/scaling.adoc +++ b/modules/ROOT/pages/kubernetes/operations/scaling.adoc @@ -11,7 +11,7 @@ To increase or decrease the resources (CPU, memory) available to a Neo4j instanc [NOTE] ==== If you change the memory allocated to the Neo4j container, you should also change the Neo4j's memory configuration (`server.memory.heap.initial_size` and `server.memory.pagecache.size` in particular). -See xref:kubernetes/configuration.adoc#configure-resources[Configure Resource Allocation] for more details. +See xref:kubernetes/configuration.adoc#important-config-parameters[Important configuration parameters] for more details. ==== For example, if your running Neo4j instance has the following allocated resources: diff --git a/modules/ROOT/pages/kubernetes/persistent-volumes.adoc b/modules/ROOT/pages/kubernetes/persistent-volumes.adoc index 499c06778..5615993b1 100644 --- a/modules/ROOT/pages/kubernetes/persistent-volumes.adoc +++ b/modules/ROOT/pages/kubernetes/persistent-volumes.adoc @@ -19,7 +19,7 @@ The Neo4j Helm chart creates the following volume mounts: * `metrics` mounted at _/metrics_ (Neo4j Community Edition does not generate `metrics`.) It is also possible to specify a `plugins` volume mount (mounted at _/plugins_), but this is not created by the default Helm chart. -For more information, see xref:kubernetes/configuration.adoc#plugins-volume[Add plugins using a plugins volume]. +For more information, see xref:kubernetes/plugins.adoc#plugins-volume[Add plugins using a plugins volume]. [[persistent-volumes-types]] == Persistent volumes @@ -701,7 +701,7 @@ An alternative method for manual provisioning is to use a manually provisioned P This is supported by the Neo4j Helm chart using the `volume` mode. The _neo4j/neo4j-persistent-volume_ Helm chart can be used to create a PV and PVC for a manually provisioned disk. -A full example can be found in the https://github.com/neo4j/helm-charts/tree/feature/5.0-release/examples/persistent-volume-manual[Neo4j GitHub repository] +A full example can be found in the https://github.com/neo4j/helm-charts/tree/dev/examples/persistent-volume-manual[Neo4j GitHub repository]. For example, to use a pre-existing PVC called `my-neo4j-pvc` set these values: [source, properties] diff --git a/modules/ROOT/pages/kubernetes/plugins.adoc b/modules/ROOT/pages/kubernetes/plugins.adoc index 9b76dccf5..b0d0b7e07 100644 --- a/modules/ROOT/pages/kubernetes/plugins.adoc +++ b/modules/ROOT/pages/kubernetes/plugins.adoc @@ -85,7 +85,7 @@ This way, you can ensure when building the container that the correct plugin ver [NOTE] ==== -link:{neo4j-download-center-uri}?bloom[The Neo4j Bloom] plugin requires a license activation key, which needs to be placed in a directory accessible by the Neo4j Docker container, for example, mounted to _/licenses_ (default). +link:link:{neo4j-download-center-uri}?bloom[The Neo4j Bloom] plugin requires a license activation key, which needs to be placed in a directory accessible by the Neo4j Docker container, for example, mounted to _/licenses_ (default). To obtain a valid license, reach out to your Neo4j account representative or use the form https://neo4j.com/contact-us[Contact Neo4j]. ==== @@ -118,7 +118,7 @@ docker push $\{CONTAINER_REPOSITORY}/$\{IMAGE_NAME}:$\{NEO4J_VERSION} ---- To use the image that you have created, in the Neo4j Helm deployment's _values.yaml_ file, set `image.customImage` to use the image. -For more details, see xref:kubernetes/configuration.adoc#configure-custom-image[Configure a custom container image]. + [NOTE] ==== diff --git a/modules/ROOT/pages/kubernetes/quickstart-analytics-cluster.adoc b/modules/ROOT/pages/kubernetes/quickstart-analytics-cluster.adoc index dd860cd89..89f1da983 100644 --- a/modules/ROOT/pages/kubernetes/quickstart-analytics-cluster.adoc +++ b/modules/ROOT/pages/kubernetes/quickstart-analytics-cluster.adoc @@ -14,7 +14,7 @@ The cluster is deployed to a cloud or a local Kubernetes cluster using the Neo4j Before you can deploy a Neo4j cluster on Kubernetes, you need to have: * A Kubernetes cluster running and the `kubectl` command-line tool installed and configured to communicate with your cluster. -For more information, see link:xref:kubernetes/quickstart-cluster/prerequisites.adoc[Quickstart: Deploy a cluster -> Prerequisites]. +For more information, see xref:kubernetes/quickstart-cluster/prerequisites.adoc[Quickstart: Deploy a cluster -> Prerequisites]. * A valid license for Neo4j Enterprise Edition. For more information, see xref:/kubernetes/plugins.adoc#install-gds-ee-bloom[Install GDS Enterprise Edition (EE) and Bloom plugins]. * The xref:kubernetes/helm-charts-setup.adoc[latest version of the Neo4j Helm chart repository]. @@ -173,7 +173,7 @@ helm install lb neo4j/neo4j-load-balancer --set neo4j.name="analytics-cluster" ---- . When deployed, copy the `EXTERNAL_IP` of the LoadBalancer service. For more information, see xref:kubernetes/quickstart-cluster/access-outside-k8s.adoc[Access the Neo4j cluster from outside Kubernetes]. -. In a web browser, open the Neo4j Browser at _http://EXTERNAL_IP:7474/browser_ and log in using the password you have configured in your values YAML files. +. In a web browser, open the Neo4j Browser at _\http://EXTERNAL_IP:7474/browser_ and log in using the password you have configured in your values YAML files. . Verify that the cluster is deployed and running: + [source, cypher] diff --git a/modules/ROOT/pages/kubernetes/quickstart-cluster/access-outside-k8s.adoc b/modules/ROOT/pages/kubernetes/quickstart-cluster/access-outside-k8s.adoc index 492d63e8e..5a59dcd95 100644 --- a/modules/ROOT/pages/kubernetes/quickstart-cluster/access-outside-k8s.adoc +++ b/modules/ROOT/pages/kubernetes/quickstart-cluster/access-outside-k8s.adoc @@ -3,7 +3,7 @@ [[cc-access-outside-k8s]] = Access the Neo4j cluster from outside Kubernetes -By default, server-side routing is used for accessing a Neo4j cluster from outside Kubernetes. +By default, server-side routing is used for accessing a Neo4j cluster from outside Kubernetes. [[cc-access-loadbalancer]] == Access the Neo4j cluster using a load balancer and Cypher Shell @@ -138,7 +138,7 @@ You can see that the nodes are advertising their internal addresses, but since y [[cc-access-browser]] == Access the Neo4j cluster using a load balancer and Neo4j Browser -. Open a web browser and point it to the `LoadBalancer Ingress` address and port `7474`, in this example, _http://82.21.42.42:7474/browser_. +. Open a web browser and point it to the `LoadBalancer Ingress` address and port `7474`, in this example, _\http://82.21.42.42:7474/browser_. . Once connected, verify that all databases are up and running using `:sysinfo` in the Browser Editor: + diff --git a/modules/ROOT/pages/kubernetes/quickstart-cluster/create-value-file.adoc b/modules/ROOT/pages/kubernetes/quickstart-cluster/create-value-file.adoc index d1b858771..bf53c0c46 100644 --- a/modules/ROOT/pages/kubernetes/quickstart-cluster/create-value-file.adoc +++ b/modules/ROOT/pages/kubernetes/quickstart-cluster/create-value-file.adoc @@ -44,7 +44,7 @@ Error: template: neo4j/templates/_helpers.tpl:157:11: executing "neo4j.resources cpu value cannot be less than 0.5 or 500m ---- + -For more information, see xref:kubernetes/configuration.adoc#configure-resources[Configure resource allocation]. +For more information, see xref:kubernetes/configuration.adoc#important-config-parameters[Important configuration parameters]. `neo4j.password`:: The password for the `neo4j` user. diff --git a/modules/ROOT/pages/kubernetes/quickstart-cluster/verify-cluster-formation.adoc b/modules/ROOT/pages/kubernetes/quickstart-cluster/verify-cluster-formation.adoc index 520705a2a..1254743d2 100644 --- a/modules/ROOT/pages/kubernetes/quickstart-cluster/verify-cluster-formation.adoc +++ b/modules/ROOT/pages/kubernetes/quickstart-cluster/verify-cluster-formation.adoc @@ -67,4 +67,4 @@ server-3-admin ClusterIP 10.28.14.77 6362/TCP,76 server-3-internals ClusterIP None 6362/TCP,7687/TCP,7474/TCP,7473/TCP,7688/TCP,5000/TCP,7000/TCP,6000/TCP 148m ---- + -For more information about the Neo4j services, see xref:kubernetes/accessing-neo4j.adoc#cluster-k8s-services[Accessing Neo4j]. \ No newline at end of file +For more information about the Neo4j services, see xref:kubernetes/accessing-neo4j.adoc[Accessing Neo4j]. \ No newline at end of file diff --git a/modules/ROOT/pages/kubernetes/quickstart-standalone/create-value-file.adoc b/modules/ROOT/pages/kubernetes/quickstart-standalone/create-value-file.adoc index fecfcea29..23921e13a 100644 --- a/modules/ROOT/pages/kubernetes/quickstart-standalone/create-value-file.adoc +++ b/modules/ROOT/pages/kubernetes/quickstart-standalone/create-value-file.adoc @@ -24,7 +24,7 @@ Error: template: neo4jtemplates/_helpers.tpl:157:11: executing "neo4j.resources. cpu value cannot be less than 0.5 or 500m ---- + -For more information, see xref:kubernetes/configuration.adoc#configure-resources[Configure resource allocation]. +For more information, see xref:kubernetes/configuration.adoc#important-config-parameters[Important configuration parameters]. `neo4j.password`:: The password for the `neo4j` user. + diff --git a/modules/ROOT/pages/kubernetes/quickstart-standalone/verify-installation.adoc b/modules/ROOT/pages/kubernetes/quickstart-standalone/verify-installation.adoc index 5848cd966..c34dd5dd8 100644 --- a/modules/ROOT/pages/kubernetes/quickstart-standalone/verify-installation.adoc +++ b/modules/ROOT/pages/kubernetes/quickstart-standalone/verify-installation.adoc @@ -71,8 +71,8 @@ service/my-neo4j-release-admin ClusterIP 10.36.3.238 ---- + . Use the external IP of the LoadBalancer to access Neo4j from an application outside the Kubernetes cluster. -For more information, see xref:kubernetes/accessing-neo4j.adoc#access-outside-k8s[Applications accessing Neo4j from outside Kubernetes]. -.. In a web browser, open the Neo4j Browser at _http://EXTERNAL_IP:7474/browser_. +For more information, see xref:kubernetes/accessing-neo4j.adoc#_applications_accessing_neo4j_from_outside_kubernetes[Applications accessing Neo4j from outside Kubernetes]. +.. In a web browser, open the Neo4j Browser at _\http://EXTERNAL_IP:7474/browser_. .. Use the automatically-generated password (as printed in the output of the `helm install` command) or the one you have configured in the _my-neo4j.values.yaml_ file. ====== @@ -166,7 +166,7 @@ my-neo4j-release ClusterIP 10.103.103.142 7687/TCP, my-neo4j-release-admin ClusterIP 10.99.11.122 6362/TCP,7687/TCP,7474/TCP,7473/TCP 2d8h my-neo4j-release-neo4j LoadBalancer 10.110.138.165 localhost 7474:31237/TCP,7473:32026/TCP,7687:32169/TCP 2d3h ---- -. In a web browser, open the Neo4j Browser at _http://localhost:7474_. +. In a web browser, open the Neo4j Browser at _\http://localhost:7474/_. . Use the automatically-generated password (as printed in the output of the `helm install` command) or the one you have set up with the `helm install` command. ====== diff --git a/modules/ROOT/pages/kubernetes/security.adoc b/modules/ROOT/pages/kubernetes/security.adoc index 6d3e35676..a093886af 100644 --- a/modules/ROOT/pages/kubernetes/security.adoc +++ b/modules/ROOT/pages/kubernetes/security.adoc @@ -29,7 +29,7 @@ Unencrypted `http` is not disabled automatically when `https` is enabled. If `https` is enabled, add `server.http.enabled: "false"` to the `config` object to disable `http`. ==== -For more information on configuring SSL policies, see xref:security/ssl-framework.adoc#ssl-framework-configuration[SSL Framework configuration]. +For more information on configuring SSL policies, see xref:security/ssl-framework.adoc#ssl-configuration[SSL configuration]. The following examples show how to deploy a Neo4j cluster with configured SSL policies. @@ -384,7 +384,7 @@ my-cluster-lb-neo4j LoadBalancer 10.0.134.210 20.237.50.207 7474:31168/T . Connect to the Neo4j cluster using one of the following options: + * Neo4j Browser: -.. Open a web browser and type _https://lb-EXTERNAL_IP:7473_ (in this example, https://20.237.50.207:7473/browser/). +.. Open a web browser and type _\https://lb-EXTERNAL_IP:7473_ (in this example, _\https://20.237.50.207:7473/browser/_). You should see the Neo4j browser. .. Authenticate using the user `neo4j` and the password you set when deploying the cores, in this example, `my-password`. .. Verify that the cluster is online by running `:sysinfo` or `SHOW SERVERS`: diff --git a/modules/ROOT/pages/monitoring/connection-management.adoc b/modules/ROOT/pages/monitoring/connection-management.adoc index 8e1abf356..a39fa510a 100644 --- a/modules/ROOT/pages/monitoring/connection-management.adoc +++ b/modules/ROOT/pages/monitoring/connection-management.adoc @@ -12,7 +12,7 @@ The procedure `dbms.listConnections` lists all accepted network connections for Some listed connections might never perform authentication. For example, HTTP GET requests to the Neo4j Browser endpoint fetches static resources and does not need to authenticate. However, connections made using Neo4j Browser require the user to provide credentials and perform authentication. -For more information on Neo4j Browser connections, see the https://neo4j.com/docs/browser-manual/current/operations/#dbms-connection[Neo4j Browser documentation]. +For more information on Neo4j Browser connections, see the https://neo4j.com/docs/browser-manual/current/operations/dbms-connection/[Neo4j Browser documentation]. *Syntax:* diff --git a/modules/ROOT/pages/monitoring/logging.adoc b/modules/ROOT/pages/monitoring/logging.adoc index 109a2641c..c16432bdf 100644 --- a/modules/ROOT/pages/monitoring/logging.adoc +++ b/modules/ROOT/pages/monitoring/logging.adoc @@ -360,7 +360,7 @@ The `DefaultRolloverStrategy` defines how many files to keep as history and whic The `fileIndex=min` implies that the minimum/the lowest number is the most recent one. The `max` attribute defines the number of files to keep as history before they are deleted, in this case, 7 files. -For more information, see https://logging.apache.org/log4j/2.x/manual/appenders.html#rollingrandomaccessfileappender[Log4j official documentation on RollingRandomAccessFile Appender]. +For more information, see https://logging.apache.org/log4j/2.x/manual/appenders.html[Log4j official documentation on RollingRandomAccessFile Appender]. ==== `` appender A `` appender is very similar to `` but it writes log events to a file. @@ -525,7 +525,7 @@ There are also a couple of built-in templates available from the classpath, for | https://github.com/logstash/log4j-jsonevent-layout[Logstash `json_event` pattern for Log4j] | classpath:GelfLayout.json -| https://docs.graylog.org/en/3.1/pages/gelf.html#gelf-payload-specification[Graylog Extended Log Format (GELF) payload specification] with additional `_thread` and `_logger` fields. +| https://go2docs.graylog.org/current/getting_in_log_data/gelf.html#GELFPayloadSpecification[Graylog Extended Log Format (GELF) payload specification] with additional `_thread` and `_logger` fields. | classpath:GcpLayout.json | https://cloud.google.com/logging/docs/structured-logging[Google Cloud Platform structured logging] with additional `_thread`, `_logger`, and `_exception` fields. @@ -552,7 +552,7 @@ This layout should typically only be used for the _debug.log_ file. === Filters You can also configure filters to determine if and what log events are published and how. -For details, see the https://logging.apache.org/log4j/2.x/manual/configuration.html#Filters[Log4j official documentation]. +For details, see the https://logging.apache.org/log4j/2.x/manual/configuration.html#appenderrefs-elements-filters[Log4j official documentation]. // For example, you can filter out logs for queries executed by the `neo4j` user or for the `neo4j` database. // [source,xml] @@ -1052,7 +1052,7 @@ The last two parenthesis `{}` `{}` are for the query parameters and `txMetaData` [[attach-metadata-tx]] === Attach metadata to a transaction -You can attach metadata to a transaction and have it printed in the query log using the built-in procedure xref:procedures.adoc#procedure_tx_setmetadata[`tx.setMetaData`]. +You can attach metadata to a transaction and have it printed in the query log using the built-in procedure xref:procedures.adoc#procedure_tx_setMetaData[`tx.setMetaData`]. [NOTE] ==== @@ -1078,7 +1078,7 @@ Every graph app should follow a convention for passing metadata with the queries This is typically done programmatically but can also be used with the Neo4j dev tools. + In general, you start a transaction on a user database and attach a list of metadata to it by calling `tx.setMetaData`. -You can also use the procedure xref:procedures.adoc#procedure_tx_getmetadata[`CALL tx.getMetaData()`] to show the metadata of the current transaction. +You can also use the procedure xref:procedures.adoc#procedure_tx_getMetaData[`CALL tx.getMetaData()`] to show the metadata of the current transaction. These examples use the MovieGraph dataset from the link:https://neo4j.com/docs/browser-manual/current/visual-tour/#guides[Neo4j Browser guide]. .Using `cypher-shell`, attach metadata to a transaction diff --git a/modules/ROOT/pages/neo4j-admin-neo4j-cli.adoc b/modules/ROOT/pages/neo4j-admin-neo4j-cli.adoc index cfd0c5f35..bced757f3 100644 --- a/modules/ROOT/pages/neo4j-admin-neo4j-cli.adoc +++ b/modules/ROOT/pages/neo4j-admin-neo4j-cli.adoc @@ -9,7 +9,7 @@ Both are installed as part of the product and can be executed with a number of commands. The `neo4j` commands are equivalent to the most important commands in the `neo4j-admin` server category. -Both `neo4j-admin` and `neo4j` commands support the <<_help_command, `--help`>> option, which prints the command's usage and options, and the <<_version_command, `--version`>> option, which prints the version of the command. +Both `neo4j-admin` and `neo4j` commands support the <> option, which prints the command's usage and options, and the <> option, which prints the version of the command. All admin command options can also be provided in a file and passed to the command using the `@` prefix. This is useful when the command line becomes too long to manage. For example, `neo4j-admin database import full @/path/to/your/ mydb`. @@ -225,11 +225,13 @@ The command is an alias for the most important commands in the `neo4j-admin serv |=== +[[version-command]] == Version command Version can be obtained by invoking the `version` command, `--version` command option, or its short alternative `-V`, on the root level of both `neo4j` and `neo4j-admin` commands. For example, `neo4j --version`, `neo4j-admin -V`, `neo4j-admin version`, or `neo4j version`. +[[help-command]] == Help command Help can be obtained by invoking the `help` command, `--help` command option, or its short alternative `-h`, with both `neo4j` and `neo4j-admin` commands. diff --git a/modules/ROOT/pages/performance/statistics-execution-plans.adoc b/modules/ROOT/pages/performance/statistics-execution-plans.adoc index 7d16813f9..8237483b3 100644 --- a/modules/ROOT/pages/performance/statistics-execution-plans.adoc +++ b/modules/ROOT/pages/performance/statistics-execution-plans.adoc @@ -57,7 +57,7 @@ You can control whether and how often statistics are collected automatically by You can manually trigger index resampling by using the built-in procedures `db.resampleIndex()` and `db.resampleOutdatedIndexes()`. -xref:procedures.adoc#procedure_db_resampleindex[`db.resampleIndex()`]:: +xref:procedures.adoc#procedure_db_resampleIndex[`db.resampleIndex()`]:: Trigger resampling of a specified index. + [source, cypher] @@ -65,7 +65,7 @@ Trigger resampling of a specified index. CALL db.resampleIndex("indexName") ---- -xref:procedures.adoc#procedure_db_resampleoutdatedindexes[`db.resampleOutdatedIndexes()`]:: +xref:procedures.adoc#procedure_db_resampleOutdatedIndexes[`db.resampleOutdatedIndexes()`]:: Trigger resampling of all outdated indexes. + [source, cypher] @@ -108,7 +108,7 @@ This ensures that even moderately changing databases see query replanning after You can manually force the database to replan the execution plans that are already in the cache by using the following built-in procedures: -xref:procedures.adoc#procedure_db_clearquerycaches[`db.clearQueryCaches()`]:: +xref:procedures.adoc#procedure_db_clearQueryCaches[`db.clearQueryCaches()`]:: Clear all query caches. Does not change the database statistics. + @@ -117,7 +117,7 @@ Does not change the database statistics. CALL db.clearQueryCaches() ---- -xref:procedures.adoc#procedure_db_prepareforreplanning[`db.prepareForReplanning()`]:: +xref:procedures.adoc#procedure_db_prepareForReplanning[`db.prepareForReplanning()`]:: Completely recalculates all database statistics to be used for any subsequent query planning. + The procedure triggers an index resampling, waits for it to complete, and clears all query caches. diff --git a/modules/ROOT/pages/procedures.adoc b/modules/ROOT/pages/procedures.adoc index 6cbdb1b3b..ac664f571 100644 --- a/modules/ROOT/pages/procedures.adoc +++ b/modules/ROOT/pages/procedures.adoc @@ -1,4 +1,3 @@ -[[neo4j-procedures]] = Procedures :description: This page provides a complete reference to the Neo4j procedures. :table-caption!: @@ -75,7 +74,7 @@ For more information, see xref:authentication-authorization/index.adoc[Authentic |=== [role=label--enterprise-edition label--admin-only label--new-2025.03] -[[procedure_dbms_security_reload_tls]] +[[procedure_dbms_security_reloadTLS]] === dbms.security.reloadTLS() @@ -87,7 +86,7 @@ For more information, see xref:authentication-authorization/index.adoc[Authentic |=== -[[procedure_dbms_showcurrentuser]] +[[procedure_dbms_showCurrentUser]] === dbms.showCurrentUser() @@ -107,8 +106,8 @@ For more information, see xref:authentication-authorization/index.adoc[Authentic For more information, see xref:monitoring/background-jobs.adoc[]. -[[procedure_dbms_scheduler_failedjobs]] [role=label--enterprise-edition label--admin-only] +[[procedure_dbms_scheduler_failedJobs]] === dbms.scheduler.failedJobs() @@ -193,7 +192,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p == Change Data Capture (CDC) -For more information, see the link:{neo4j-docs-base-uri}/cdc/{page-version}/[CDC documentation]. +For more information, see the link:{neo4j-docs-base-uri}/cdc/current/[CDC documentation]. [role=label--enterprise-edition label--deprecated-5.17] [[procedure_cdc_current]] @@ -300,7 +299,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cdc/{page-version}/[CDC [role=label--admin-only label--enterprise-edition label--new-2025.04] -[[procedure_db_cdc_translate_id]] +[[procedure_db_cdc_translateId]] === db.cdc.translateId() @@ -460,7 +459,7 @@ Running the procedure with an admin privilege is deprecated. |=== [role=label--admin-only label--deprecated-5.6 label--enterprise-edition] -[[procedure_dbms_cluster_readreplicatoggle]] +[[procedure_dbms_cluster_readReplicaToggle]] === dbms.cluster.readReplicaToggle() @@ -583,7 +582,7 @@ Further details on how to use the `dbms.recreateDatabase()` procedure are provid ==== [role=label--deprecated-5.21 label--enterprise-edition] -[[procedure_dbms_cluster_routing_getroutingtable]] +[[procedure_dbms_cluster_routing_getRoutingTable]] === dbms.cluster.routing.getRoutingTable() @@ -601,7 +600,7 @@ Further details on how to use the `dbms.recreateDatabase()` procedure are provid |=== [role=label--admin-only label--enterprise-edition]] -[[procedure_dbms_cluster_secondaryreplicationdisable]] +[[procedure_dbms_cluster_secondaryReplicationDisable]] === dbms.cluster.secondaryReplicationDisable() @@ -786,7 +785,7 @@ Starting with Neo4j 2025.04, the default database can also be set to a local or For more information, see xref:configuration/index.adoc[]. [role=label--enterprise-edition label--admin-only] -[[procedure_dbms_checkconfigvalue]] +[[procedure_dbms_checkConfigValue]] === dbms.checkConfigValue() @@ -842,7 +841,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p | *Mode* 3+| DBMS |=== -[[procedure_dbms_listcapabilities]] +[[procedure_dbms_listCapabilities]] === dbms.listCapabilities() @@ -858,7 +857,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p |=== [role=label--admin-only] -[[procedure_dbms_listconfig]] +[[procedure_dbms_listConfig]] === dbms.listConfig() @@ -881,7 +880,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p |=== [role=label--enterprise-edition label--admin-only label--not-on-aura] -[[procedure_dbms_setconfigvalue]] +[[procedure_dbms_setConfigValue]] === dbms.setConfigValue() @@ -896,7 +895,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p |=== [role=label--enterprise-edition] -[[procedure_dbms_listpools]] +[[procedure_dbms_listPools]] === dbms.listPools() @@ -929,7 +928,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p For more information, see xref:monitoring/connection-management.adoc[]. -[[procedure_dbms_listconnections]] +[[procedure_dbms_listConnections]] === dbms.listConnections() @@ -948,7 +947,7 @@ For more information, see xref:monitoring/connection-management.adoc[]. | *Mode* 3+| DBMS |=== -[[procedure_dbms_killconnection]] +[[procedure_dbms_killConnection]] === dbms.killConnection() @@ -965,7 +964,7 @@ For more information, see xref:monitoring/connection-management.adoc[]. | *Mode* 3+| DBMS |=== -[[procedure_dbms_killconnections]] +[[procedure_dbms_killConnections]] === dbms.killConnections() @@ -1025,7 +1024,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p |=== [role=label--enterprise-edition] -[[procedure_dbms_listactivelocks]] +[[procedure_dbms_listActiveLocks]] === dbms.listActiveLocks() @@ -1050,7 +1049,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p ==== [role=label--enterprise-edition label--admin-only] -[[procedure_db_listlocks]] +[[procedure_db_listLocks]] === db.listLocks() @@ -1079,7 +1078,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p | *Mode* 3+| READ |=== -[[procedure_dbms_routing_getroutingtable]] +[[procedure_dbms_routing_getRoutingTable]] === dbms.routing.getRoutingTable() @@ -1199,7 +1198,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p [role=label--admin-only label--deprecated-5.9] -[[procedure_dbms_upgradestatus]] +[[procedure_dbms_upgradeStatus]] === dbms.upgradeStatus() @@ -1231,7 +1230,7 @@ For more information, see: * link:{neo4j-docs-base-uri}/cypher-manual/current/functions/genai-functions/[Cypher Manual -> GenAI functions] * link:{neo4j-docs-base-uri}/genai/tutorials/embeddings-vector-indexes/[GenAI documentation -> Embeddings & Vector Indexes Tutorial] -[[procedure_db_create_setnodevectorproperty]] +[[procedure_db_create_setNodeVectorProperty]] === db.create.setNodeVectorProperty @@ -1253,7 +1252,7 @@ Procedure signatures from `SHOW PROCEDURES` renders the vector arguments with a The types are still enforced as `LIST`. ==== -[[procedure_db_create_setrelationshipvectorproperty]] +[[procedure_db_create_setRelationshipVectorProperty]] === db.create.setRelationshipVectorProperty() @@ -1276,7 +1275,7 @@ The types are still enforced as `LIST`. ==== [role=label--beta label--deprecated-5.13] -[[procedure_db_create_setvectorproperty]] +[[procedure_db_create_setVectorProperty]] === db.create.setVectorProperty() @@ -1291,7 +1290,7 @@ The types are still enforced as `LIST`. .2+| *Return arguments* | *Name* | *Type* | *Description* | `node` | `NODE` | The node on which the vector property was set. | *Mode* 3+| WRITE -| *Replaced by* 3+| xref:procedures.adoc#procedure_db_create_setnodevectorproperty[`db.create.setNodeVectorProperty()`] and xref:procedures.adoc#procedure_db_create_setrelationshipvectorproperty[`db.create.setRelationshipVectorProperty()`] +| *Replaced by* 3+| xref:procedures.adoc#procedure_db_create_setNodeVectorProperty[`db.create.setNodeVectorProperty()`] and xref:procedures.adoc#procedure_db_create_setRelationshipVectorProperty[`db.create.setRelationshipVectorProperty()`] |=== .Known issue @@ -1303,7 +1302,7 @@ The types are still enforced as `LIST`. [role=label--deprecated-5.26] -[[procedure_db_index_vector_createnodeindex]] +[[procedure_db_index_vector_createNodeIndex]] === db.index.vector.createNodeIndex() @@ -1324,8 +1323,7 @@ Use the `db.index.vector.queryNodes` procedure to query the named index. | *Replaced by* 3+| the Cypher command `CREATE VECTOR INDEX`. For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/indexes/semantic-indexes/vector-indexes/#create-vector-index[Cypher Manual -> Create a vector index]. |=== -[[procedure_db_index_vector_querynodes]] - +[[procedure_db_index_vector_queryNodes]] === db.index.vector.queryNodes() @@ -1347,7 +1345,7 @@ The similarity score is a value between [0, 1]; where 0 indicates least similar, |=== -[[procedure_db_index_vector_queryrelationships]] +[[procedure_db_index_vector_queryRelationships]] === db.index.vector.queryRelationships() @@ -1431,7 +1429,7 @@ For more information, see: * link:{neo4j-docs-base-uri}/cypher-manual/current/indexes/search-performance-indexes/overview/[Cypher Manual -> Search performance indexes] * link:{neo4j-docs-base-uri}/cypher-manual/current/indexes/semantic-indexes/full-text-indexes[Cypher Manual -> Full-text indexes] -[[procedure_db_awaitindex]] +[[procedure_db_awaitIndex]] === db.awaitIndex() @@ -1452,7 +1450,7 @@ It is therefore not supported by the parallel runtime. For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/planning-and-tuning/runtimes/concepts#runtimes-parallel-runtime[Cypher Manual -> Parallel runtime]. ==== -[[procedure_db_awaitindexes]] +[[procedure_db_awaitIndexes]] === db.awaitIndexes() @@ -1473,7 +1471,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p ==== -[[procedure_db_index_fulltext_awaiteventuallyconsistentindexrefresh]] +[[procedure_db_index_fulltext_awaitEventuallyConsistentIndexRefresh]] === db.index.fulltext.awaitEventuallyConsistentIndexRefresh() @@ -1484,7 +1482,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p | *Mode* 3+| READ |=== -[[procedure_db_index_fulltext_listavailableanalyzers]] +[[procedure_db_index_fulltext_listAvailableAnalyzers]] === db.index.fulltext.listAvailableAnalyzers() @@ -1500,7 +1498,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p |=== -[[procedure_db_index_fulltext_querynodes]] +[[procedure_db_index_fulltext_queryNodes]] === db.index.fulltext.queryNodes() @@ -1555,7 +1553,7 @@ An example of the `options` map: `{skip: 30, limit: 10, analyzer: 'whitespace'}` |=== -[[procedure_db_resampleindex]] +[[procedure_db_resampleIndex]] === db.resampleIndex() @@ -1576,7 +1574,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p ==== -[[procedure_db_resampleoutdatedindexes]] +[[procedure_db_resampleOutdatedIndexes]] === db.resampleOutdatedIndexes() @@ -1596,7 +1594,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p == Metrics -[[procedure_dbms_queryjmx]] +[[procedure_dbms_queryJmx]] === dbms.queryJmx() @@ -1615,7 +1613,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p == Schema and metadata -[[procedure_db_schema_nodetypeproperties]] +[[procedure_db_schema_nodeTypeProperties]] === db.schema.nodeTypeProperties() @@ -1640,7 +1638,7 @@ It is therefore not supported by the parallel runtime. For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/planning-and-tuning/runtimes/concepts#runtimes-parallel-runtime[Cypher Manual -> Parallel runtime]. ==== -[[procedure_db_schema_reltypeproperties]] +[[procedure_db_schema_relTypeProperties]] === db.schema.relTypeProperties() @@ -1685,7 +1683,7 @@ It is therefore not supported by the parallel runtime. For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/planning-and-tuning/runtimes/concepts#runtimes-parallel-runtime[Cypher Manual -> Parallel runtime]. ==== -[[procedure_db_createlabel]] +[[procedure_db_createLabel]] === db.createLabel() @@ -1698,7 +1696,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p | *Mode* 3+| WRITE |=== -[[procedure_db_createproperty]] +[[procedure_db_createProperty]] === db.createProperty() @@ -1711,7 +1709,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p | *Mode* 3+| WRITE |=== -[[procedure_db_createRelationshiptype]] +[[procedure_db_createRelationshipType]] === db.createRelationshipType @@ -1738,7 +1736,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p |=== -[[procedure_db_propertykeys]] +[[procedure_db_propertyKeys]] === db.propertyKeys() @@ -1758,7 +1756,7 @@ It is therefore not supported by the parallel runtime. For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/planning-and-tuning/runtimes/concepts#runtimes-parallel-runtime[Cypher Manual -> Parallel runtime]. ==== -[[procedure_db_relationshiptypes]] +[[procedure_db_relationshipTypes]] === db.relationshipTypes() @@ -1783,7 +1781,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p For more information, see xref:performance/statistics-execution-plans.adoc[] [role=label--admin-only] -[[procedure_db_clearquerycaches]] +[[procedure_db_clearQueryCaches]] === db.clearQueryCaches() @@ -1797,7 +1795,7 @@ For more information, see xref:performance/statistics-execution-plans.adoc[] |=== [role=label--admin-only] -[[procedure_db_prepareforreplanning]] +[[procedure_db_prepareForReplanning]] === db.prepareForReplanning() @@ -1873,7 +1871,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p |=== [role=label--admin-only] -[[procedure_db_stats_retrieveallanonymized]] +[[procedure_db_stats_retrieveAllAnonymized]] === db.stats.retrieveAllAnonymized() @@ -1929,7 +1927,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p == Transaction management -[[procedure_tx_getmetadata]] +[[procedure_tx_getMetaData]] === tx.getMetaData() @@ -1943,7 +1941,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/current/p |=== -[[procedure_tx_setmetadata]] +[[procedure_tx_setMetaData]] === tx.setMetaData() diff --git a/modules/ROOT/pages/security/checklist.adoc b/modules/ROOT/pages/security/checklist.adoc index cfacdd125..32eab6305 100644 --- a/modules/ROOT/pages/security/checklist.adoc +++ b/modules/ROOT/pages/security/checklist.adoc @@ -12,14 +12,14 @@ image:flat-vs-segmented-network.svg[title="An example of flat vs. segmented netw .. Open only the ports that you need. For a list of relevant ports, see xref:configuration/ports.adoc[Ports]. + -In particular, ensure that there is no external access to the port specified by the setting xref:configuration/configuration-settings.adoc#config_dbms.backup.listen_address[`dbms.backup.listen_address`]. +In particular, ensure that there is no external access to the port specified by the setting xref:configuration/configuration-settings.adoc#config_server.backup.listen_address[`server.backup.listen_address`]. Failing to protect this port may open a security hole by which an unauthorized user can make a copy of the database onto a different machine. . Protect data-at-rest: .. Use volume encryption (e.g., Bitlocker). .. Manage access to database dumps and backups. Refer to xref:backup-restore/offline-backup.adoc[Back up an offline database] and backups xref:backup-restore/online-backup.adoc[Back up an online database] for more information. .. Manage access to configuration files, data files, and transaction logs by ensuring the correct file permissions on the Neo4j files. -Refer to xref:configuration/file-locations.adoc#file-locations-permissions[File permissions] for instructions on permission levels. +Refer to xref:configuration/file-locations.adoc[Default file locations] for instructions on permission levels. . Protect data-in-transit: .. For remote access to the Neo4j database, only use encrypted Bolt or HTTPS. .. Use SSL certificates issued from a trusted Certificate Authority. @@ -34,10 +34,10 @@ For more information, see xref:authentication-authorization/ldap-integration.ado . Be on top of the security for custom extensions: .. Validate any custom code you deploy (procedures and unmanaged extensions) and ensure that they do not unintentionally expose any parts of the product or data. .. Survey the settings `xref:configuration/configuration-settings.adoc#config_dbms.security.procedures.unrestricted[dbms.security.procedures.unrestricted]` and `xref:configuration/configuration-settings.adoc#config_dbms.security.procedures.allowlist[dbms.security.procedures.allowlist]` to ensure that they exclusively contain intentionally exposed extensions. -. Make sure you have the xref:configuration/file-locations.adoc#file-locations-permissions[correct file permissions] on the Neo4j files. +. Make sure you have the xref:configuration/file-locations.adoc[Default file locations] on the Neo4j files. . Protect against the execution of unauthorized extensions by restricting access to the _bin_, _lib_, and _plugins_ directories. Only the operating system user that Neo4j runs as should have permissions to those files. -Refer to xref:configuration/file-locations.adoc#file-locations-permissions[File permissions] for instructions on permission levels. +Refer to xref:configuration/file-locations.adoc[Default file locations] for instructions on permission levels. . With `LOAD CSV` enabled, ensure that it does not allow unauthorized users to import data. How to configure `LOAD CSV` is described in link:{neo4j-docs-base-uri}/cypher-manual/current/clauses/load-csv[Cypher Manual -> `LOAD CSV`]. . Use Neo4j authentication. diff --git a/modules/ROOT/pages/security/securing-extensions.adoc b/modules/ROOT/pages/security/securing-extensions.adoc index d3e001054..736017065 100644 --- a/modules/ROOT/pages/security/securing-extensions.adoc +++ b/modules/ROOT/pages/security/securing-extensions.adoc @@ -2,7 +2,7 @@ = Securing extensions :description: This page describes how to use allow listing and unrestricting to ensure the security of custom-written additions in Neo4j. -Neo4j can be extended by writing custom code which can be invoked directly from Cypher, as described in link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/procedures#extending-neo4j-procedures[Java Reference -> User-defined procedures] and link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/functions#extending-neo4j-functions[Java Reference -> User-defined functions]. +Neo4j can be extended by writing custom code which can be invoked directly from Cypher, as described in link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/procedures[Java Reference -> User-defined procedures] and link:{neo4j-docs-base-uri}/java-reference/{page-version}/extending-neo4j/functions[Java Reference -> User-defined functions]. This page describes how to ensure the security of these additions. diff --git a/modules/ROOT/pages/tutorial/access-control.adoc b/modules/ROOT/pages/tutorial/access-control.adoc index 2b43794b1..128d04661 100644 --- a/modules/ROOT/pages/tutorial/access-control.adoc +++ b/modules/ROOT/pages/tutorial/access-control.adoc @@ -5,7 +5,7 @@ When creating a database, administrators may want to establish which users can access certain information. -As described in xref:authentication-authorization/built-in-roles.adoc#auth-built-in-roles[Built-in roles and privileges], Neo4j already offers preset roles configured to specific permissions (i.e. read, edit, or write). +As described in xref:authentication-authorization/built-in-roles.adoc[Built-in roles and privileges], Neo4j already offers preset roles configured to specific permissions (i.e. read, edit, or write). While these built-in roles cover many common daily scenarios, it is also possible to create custom roles for specific needs. This tutorial walks you through a healthcare use case that illustrates various aspects of security and fine-grained access control. @@ -1039,7 +1039,7 @@ CREATE USER tina SET PASSWORD 'secretpassword5' CHANGE NOT REQUIRED; ---- At this point, the users cannot interact with the database, so these capabilities need to be granted by using roles. -There are two different ways of doing this either by using xref:authentication-authorization/built-in-roles.adoc#auth-built-in-roles[built-in roles and privileges] or by using more advanced resources with fine-grained privileges for <>. +There are two different ways of doing this either by using xref:authentication-authorization/built-in-roles.adoc[built-in roles and privileges] or by using more advanced resources with fine-grained privileges for <>. [[auth-access-control-using-built-in-roles]] diff --git a/modules/ROOT/pages/tutorial/neo4j-admin-import.adoc b/modules/ROOT/pages/tutorial/neo4j-admin-import.adoc index 3842b0a9e..900010904 100644 --- a/modules/ROOT/pages/tutorial/neo4j-admin-import.adoc +++ b/modules/ROOT/pages/tutorial/neo4j-admin-import.adoc @@ -26,7 +26,7 @@ They use: * The _import_ directory of the Neo4j installation to store all the CSV files. However, the CSV files can be located in any directory of your file system. * UNIX-styled paths. -* The xref:import.adoc[`neo4j-admin database import`] command. +* The xref:import.adoc[`neo4j-admin database import full`] command. //To create a cluster based on imported data, see <>. @@ -163,7 +163,7 @@ bin/neo4j stop == CSV file delimiters -You can customize the configuration options that the import tool uses (see xref:import.adoc#import-tool-options[Options]) if your data does not fit the default format. +You can customize the configuration options that the import tool uses (see xref:import.adoc#_options[Options]) if your data does not fit the default format. The details of a CSV file header format can be found at xref:import.adoc#import-tool-header-format[CSV header format]. diff --git a/modules/ROOT/pages/tutorial/tutorial-clustering-docker.adoc b/modules/ROOT/pages/tutorial/tutorial-clustering-docker.adoc index 87e2c2cd7..042a46238 100644 --- a/modules/ROOT/pages/tutorial/tutorial-clustering-docker.adoc +++ b/modules/ROOT/pages/tutorial/tutorial-clustering-docker.adoc @@ -75,7 +75,7 @@ initial.dbms.automatically_enable_free_servers=true ---- . Prepare your _docker-compose.yml_ file using the following example. -For more information, see the https://docs.docker.com/compose/compose-file/#service-configuration-reference[Docker Compose official Service configuration reference]. +For more information, see the https://docs.docker.com/compose/compose-file/[Docker Compose] official documentation. + .Example _docker-compose.yml_ file ==== @@ -241,10 +241,10 @@ mkdir -p conf/{server1,server2,server3,server4} data/{server1,server2,server3,se ---- . Deploy your Neo4j cluster by running `docker-compose up` from your project folder. . The instance will be available at the following addresses: -- Neo4j instance _server1_ will be available at http://localhost:7474[http://localhost:7474^]. -- Neo4j instance _server2_ will be available at http://localhost:7475[http://localhost:7475^]. -- Neo4j instance _server3_ will be available at http://localhost:7476[http://localhost:7476^]. -- Neo4j instance _server4_ will be available at http://localhost:7477[http://localhost:7477^]. +- Neo4j instance _server1_ will be available at _\http://localhost:7474/_. +- Neo4j instance _server2_ will be available at _\http://localhost:7475/_. +- Neo4j instance _server3_ will be available at _\http://localhost:7476/_. +- Neo4j instance _server4_ will be available at _\http://localhost:7477/_. . Authenticate with the default `neo4j/your_password` credentials. . Check the status of the cluster by running the following in Neo4j Browser: + diff --git a/modules/ROOT/pages/tutorial/tutorial-sso-configuration.adoc b/modules/ROOT/pages/tutorial/tutorial-sso-configuration.adoc index ce4c1d474..a401e4e87 100644 --- a/modules/ROOT/pages/tutorial/tutorial-sso-configuration.adoc +++ b/modules/ROOT/pages/tutorial/tutorial-sso-configuration.adoc @@ -9,7 +9,7 @@ It also presents frequently asked questions and solutions to common problems enc [NOTE] ==== -The following configurations are crafted for a Neo4j Browser served on `http://localhost:7474/browser/` (the default URL when starting the database on `localhost`). +The following configurations are crafted for a Neo4j Browser served on _\http://localhost:7474/_ (the default URL when starting the database on `localhost`). Therefore, when reproducing them in the identity providers, you must modify the redirect URI to include the URI serving your Neo4j Browser application. For example: @@ -58,9 +58,9 @@ For the complete guide on how to customize tokens returned from Okta with a grou . Click *Next*. . Configure the client with the appropriate redirect URI. .. Add a name for the app integration. -.. Add the *Sign-in redirect URIs*, for example, `http://localhost:7474/browser/?idp_id=okta&auth_flow_step=redirect_uri`. +.. Add the *Sign-in redirect URIs*, for example, _\http://localhost:7474/browser/?idp_id=okta&auth_flow_step=redirect_uri_. This URI will accept returned token responses after successful authentication. -. Add the *Sign-out redirect URIs*, for example, `http://localhost:7474/browser/`. +. Add the *Sign-out redirect URIs*, for example, _\http://localhost:7474/_. . In the *Assignments* section, select *Skip group assignment* for now. . Click *Save*. . Take note of the Client ID. @@ -196,7 +196,7 @@ The following examples show how to configure Microsoft Entra ID for authenticati === Register the application -. Log in to the https://portal.azure.com/#home[Azure portal]. +. Log in to the https://portal.azure.com[Azure portal]. . Click *Microsoft Entra ID* and navigate to *Manage -> App registrations*. . Click *New registration*. . Type a name for your application, for example, `Neo4j SSO`. @@ -254,7 +254,17 @@ dbms.security.oidc.azure.params=client_id=4376dc8b-b5af-424f-9ada-c1c1b2d416b9;r === ID token -This example shows how to configure Neo4j to use an Entra ID ID token for authentication and authorization. +This example shows how to configure Entra ID for authentication and authorization using ID tokens. + +==== Register the application + +. Log in to the https://login.microsoftonline.com/[Azure portal]. +. Navigate to *Microsoft Entra ID > Overview*. +. From the *Add* dropdown menu, select *App registration* and fill in the following information to create your SSO application: ++ +image::sso-configuration-tutorials/oidc-azure-client-creation.png[title="Entra OIDC client creation"] +The redirect URI _\http://localhost:7474/browser/?idp_id=azure&auth_flow_step=redirect_uri_ is the URI that will accept returned token responses after successful authentication. +. Click *Register*. ==== Configure Neo4j @@ -291,7 +301,7 @@ dbms.security.oidc.azure.config=token_type_principal=id_token;token_type_authent [IMPORTANT] ==== `sub` is the only claim guaranteed to be unique and stable. -For details, see https://learn.microsoft.com/en-us/azure/active-directory/develop/id-tokens#using-claims-to-reliably-identify-a-user-subject-and-object-id[Microsoft documentation] as well as the https://openid.net/specs/openid-connect-core-1_0.html#ClaimStability[OpenId spec]. +For details, see #using-claims-to-reliably-identify-a-user-subject-and-object-id[Microsoft documentation] as well as the https://openid.net/specs/openid-connect-core-1_0.html#ClaimStability[OpenId spec]. ==== + [source, properties]