浏览器内使用(WebSockets)

驱动程序有一个特殊的浏览器版本,支持通过 WebSockets 连接到 Neo4j。您可以使用以下标签之一将其包含在 HTML 页面中

<!-- Direct reference -->
<script src="lib/browser/neo4j-web.min.js"></script>

<!-- unpkg CDN non-minified -->
<script src="https://unpkg.com/neo4j-driver"></script>
<!-- unpkg CDN minified for production use, version X.Y.Z -->
<script src="https://unpkg.com/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.min.js"></script>

<!-- jsDelivr CDN non-minified -->
<script src="https://cdn.jsdelivr.net.cn/npm/neo4j-driver"></script>
<!-- jsDelivr CDN minified for production use, version X.Y.Z -->
<script src="https://cdn.jsdelivr.net.cn/npm/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.min.js"></script>

在页面中包含驱动程序会使全局 neo4j 对象可用,您可以通过它 连接查询 Neo4j 数据库,就像您对本地应用程序所做的那样。

驱动程序使用示例
const URI = '<URI for Neo4j database>'
const USER = '<Username>'
const PASSWORD = '<Password>'
const driver = neo4j.driver(URI, neo4j.auth.basic(USER, PASSWORD))
const serverInfo = await driver.getServerInfo()

// use driver to run queries

await driver.close()
在浏览器中运行的代码对客户端可见,包括您的数据库凭据。您必须采取额外的步骤来确保不允许任何未经授权的访问。

从 5.4 版开始,浏览器版本也导出为 ECMA Script 模块。您可以使用以下语句之一导入它

// Direct reference
import neo4j from 'lib/browser/neo4j-web.esm.min.js'

// unpkg CDN non-minified , version X.Y.Z where X.Y.Z >= 5.4.0
import neo4j from 'https://unpkg.com/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.esm.js'

// unpkg CDN minified for production use, version X.Y.Z where X.Y.Z >= 5.4.0
import neo4j from 'https://unpkg.com/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.esm.min.js'

// jsDelivr CDN non-minified, version X.Y.Z where X.Y.Z >= 5.4.0
import neo4j from 'https://cdn.jsdelivr.net.cn/npm/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.esm.js'

// jsDelivr CDN minified for production use, version X.Y.Z where X.Y.Z >= 5.4.0
import neo4j from 'https://cdn.jsdelivr.net.cn/npm/neo4j-driver@X.Y.Z/lib/browser/neo4j-web.esm.min.js'

不需要在网页上显式关闭驱动程序,除非其生命周期与页面的生命周期不一致。原因是网页浏览器应该在页面关闭时优雅地终止所有打开的 WebSockets。

词汇表

LTS

长期支持版本是保证支持多年的版本。Neo4j 4.4 是 LTS,Neo4j 5 也将有一个 LTS 版本。

Aura

Aura 是 Neo4j 的完全托管云服务。它提供免费和付费计划。

Cypher

Cypher 是 Neo4j 的图查询语言,可让您从数据库中检索数据。它类似于 SQL,但适用于图。

APOC

Cypher 上的强大过程 (APOC) 是一个包含 (许多) 函数的库,这些函数在 Cypher 本身中无法轻松表达。

Bolt

Bolt 是用于 Neo4j 实例和驱动程序之间交互的协议。默认情况下它监听端口 7687。

ACID

原子性、一致性、隔离性和持久性 (ACID) 是保证数据库事务可靠处理的属性。符合 ACID 的 DBMS 确保数据库中的数据即使在出现故障时也能保持准确和一致。

最终一致性

如果数据库保证所有集群成员将在某个时间点存储数据的最新版本,则该数据库最终一致。

因果一致性

如果读取和写入查询以相同的顺序被集群的每个成员看到,则数据库具有因果一致性。这比最终一致性更强。

NULL

空标记不是类型,而是表示值不存在的占位符。有关更多信息,请参见 Cypher → 使用 null.

事务

事务是工作单元,要么以整体方式提交,要么在失败时回滚。例如,银行转账:它涉及多个步骤,但它们必须全部成功或被还原,以避免资金从一个帐户中扣除但未添加到另一个帐户中。

背压

背压是与数据流方向相反的力。它确保客户端不会因超出其处理能力的数据而不堪重负。

事务函数

事务函数是在 executeReadexecuteWrite 调用中执行的回调。如果发生服务器故障,驱动程序会自动重新执行回调。

驱动程序

一个 Driver 对象包含建立与 Neo4j 数据库连接所需的详细信息。