数据库建模

此新软件包提供了一组函数,用于从关系数据库管理系统 (RDBMS)、JSON 文件等不同数据源提取元数据信息。

限定名称 类型 版本

apoc.model.jdbc

apoc.model.jdbc('key or url', {schema:'<schema>', write: <true/false>, filters: { tables:[], views: [], columns: []}) YIELD nodes, relationships - 从关系数据库加载模式 (schema)

过程

Apoc Extended

apoc.model.jdbc

该过程允许从任何兼容 JDBC 的数据库中提取元数据信息。

配置

配置 类型 描述

schema

字符串。默认值为 empty(空)

模式名称。

write

布尔值。默认值为 false

如果您想将数据持久化到 Neo4j 中

filters(过滤器)

map<String, Array<String>>。默认值为 empty(空)

针对每种对象类型(tables 表、views 视图、columns 列)的一组过滤器

过滤器(Filters)

配置 类型 描述

tables(表)

Array<String>

一组正则表达式模式,如果匹配,则排除这些表

views(视图)

Array<String>

一组正则表达式模式,如果匹配,则排除这些视图

columns(列)

Array<String>

一组正则表达式模式,如果匹配,则排除这些列

示例

从以下模式开始

 CREATE TABLE "country" (
   "Code" CHAR(3) NOT NULL DEFAULT '',
   "Name" CHAR(52) NOT NULL DEFAULT '',
   "Continent" enum('Asia','Europe','North America','Africa','Oceania','Antarctica','South America') NOT NULL DEFAULT 'Asia',
   "Region" CHAR(26) NOT NULL DEFAULT '',
   "SurfaceArea" FLOAT(10,2) NOT NULL DEFAULT '0.00',
   "IndepYear" SMALLINT(6) DEFAULT NULL,
   "Population" INT(11) NOT NULL DEFAULT '0',
   "LifeExpectancy" FLOAT(3,1) DEFAULT NULL,
   "GNP" FLOAT(10,2) DEFAULT NULL,
   "GNPOld" FLOAT(10,2) DEFAULT NULL,
   "LocalName" CHAR(45) NOT NULL DEFAULT '',
   "GovernmentForm" CHAR(45) NOT NULL DEFAULT '',
   "HeadOfState" CHAR(60) DEFAULT NULL,
   "Capital" INT(11) DEFAULT NULL,
   "Code2" CHAR(2) NOT NULL DEFAULT '',
   PRIMARY KEY ("Code")
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 CREATE TABLE "city" (
   "ID" INT(11) NOT NULL AUTO_INCREMENT,
   "Name" CHAR(35) NOT NULL DEFAULT '',
   "CountryCode" CHAR(3) NOT NULL DEFAULT '',
   "District" CHAR(20) NOT NULL DEFAULT '',
   "Population" INT(11) NOT NULL DEFAULT '0',
   PRIMARY KEY ("ID"),
   KEY "CountryCode" ("CountryCode"),
   CONSTRAINT "city_ibfk_1" FOREIGN KEY ("CountryCode") REFERENCES "country" ("Code")
 ) ENGINE=InnoDB AUTO_INCREMENT=4080 DEFAULT CHARSET=latin1;

 CREATE TABLE "countrylanguage" (
   "CountryCode" CHAR(3) NOT NULL DEFAULT '',
   "Language" CHAR(30) NOT NULL DEFAULT '',
   "IsOfficial" enum('T','F') NOT NULL DEFAULT 'F',
   "Percentage" FLOAT(4,1) NOT NULL DEFAULT '0.0',
   PRIMARY KEY ("CountryCode","Language"),
   KEY "CountryCode" ("CountryCode"),
   CONSTRAINT "countryLanguage_ibfk_1" FOREIGN KEY ("CountryCode") REFERENCES "country" ("Code")
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

通过执行此过程调用

call apoc.model.jdbc('jdbc:mysql://mysql:3306', {schema: 'test', credentials: {user: 'root', password: 'andrea'}})

您将获得以下结果

apoc.model.jdbc
© . This site is unofficial and not affiliated with Neo4j, Inc.