主要内容

storeDigraph

将有向图存储在Neo4j数据库

描述

例子

storeDigraph (neo4jconnG将有向图转换为Neo4j®并使用Neo4j数据库连接将其存储在Neo4j数据库中。的节点表和边缘表中的变量有向图对象(除了EndNodes变量)成为Neo4j图中节点和关系的属性。

例子

storeDigraph (neo4jconnG名称,值使用一个或多个名称-值对参数指定其他选项。例如,‘GlobalNodeLabel’,‘人’方法存储有向图中的所有节点节点的标签。

例子

graphinfo= storeDigraph (___使用前面语法中的任何输入参数组合以结构形式返回图形信息。

例子

全部折叠

创建一个有向图对象并将其内容存储在Neo4j®数据库中。显示结果Neo4j图的内容。

假设您在Neo4j数据库中存储了表示社会邻居的图形数据。这个数据库有7个节点和8个关系。每个节点只有一个唯一的属性键的名字取值范围为User1通过User7.每个关系都有类型知道

使用URL创建一个Neo4j数据库连接http://localhost:7474/db/data,用户名neo4j,和密码matlab

url =“http://localhost: 7474 / db /数据”;用户名=“neo4j”;密码=matlab的;Neo4jconn = neo4j(url,用户名,密码);

检查消息属性的Neo4j连接对象neo4jconn.空白的消息属性指示连接成功。

neo4jconn。消息
Ans = []

创建一个有向图对象,其中有三个节点,表示一个新的Neo4j图。这些节点代表另外三个人:User8User9,User10

G =有向图([1 1 3],[2 3 2],[1 2 3],{“User8”“User9”“User10”});

将数据作为Neo4j图存储在Neo4j数据库中。

storeDigraph (neo4jconn G)

默认情况下,storeDigraph函数存储没有节点标签的有向图。此外,该函数使用默认关系类型存储关系边缘

显示关于Neo4j图节点的信息。graphinfo包含节点和关系信息的结构。

标准= [“边缘”];graphinfo = searchGraph(neo4jconn,criteria);graphinfo。节点
ans =3×3表NodeLabels NodeData NodeObject  __________ ____________ ___________________________________ 7[][1×1 struct] [1 x1 database.neo4j.http。Neo4jNode] 52 [] [1×1 struct] [1x1 database.neo4j.http.]Neo4jNode] 47 [] [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]

节点是一个包含以下变量的表:

  • 节点的标签

  • 节点数据

  • Neo4jNode对象

显示关于Neo4j图关系的信息。

graphinfo。关系
ans =3×5表StartNodeID RelationType EndNodeID RelationData RelationObject  ___________ ____________ _________ ____________ _______________________________________ 17 7‘边缘’52[1×1 struct] [1 x1 database.neo4j.http。Neo4jRelation] 18 47 'Edge' 52 [1×1 struct] [1x1 database.neo4j.http.]Neo4jRelation] 35 7 'Edge' 47 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]

关系是一个包含以下变量的表:

  • 开始节点标识符

  • 关系类型

  • 结束节点标识符

  • 关系数据

  • Neo4jRelation对象

关闭数据库连接。

关上(neo4jconn)

创建一个有向图对象并将其内容存储在Neo4j®数据库中。指定一个节点标签,应用于结果Neo4j图中的所有节点。指定一个关系类型,应用于结果Neo4j图中的所有关系。显示图形的内容。

假设您在Neo4j数据库中存储了表示社会邻居的图形数据。这个数据库有7个节点和8个关系。每个节点只有一个唯一的属性键的名字取值范围为User1通过User7.每个关系都有类型知道

使用URL创建一个Neo4j数据库连接http://localhost:7474/db/data,用户名neo4j,和密码matlab

url =“http://localhost: 7474 / db /数据”;用户名=“neo4j”;密码=matlab的;Neo4jconn = neo4j(url,用户名,密码);

检查消息属性的Neo4j连接对象neo4jconn.空白的消息属性指示连接成功。

neo4jconn。消息
Ans = []

创建一个有向图对象,其中有三个节点,表示一个新的Neo4j图。这些节点代表另外三个人:User8User9,User10

G =有向图([1 1 3],[2 3 2],[1 2 3],[“User8”“User9”“User10”]);

将数据作为Neo4j图存储在Neo4j数据库中。指定节点标签为生成的Neo4j图中的每个节点“GlobalNodeLabel”名称-值对参数。指定关系类型知道函数来获取图中的每个关系“GlobalRelationType”名称-值对参数。

storeDigraph (neo4jconn, G,“GlobalNodeLabel”“人”...“GlobalRelationType”“知道”

显示关于Neo4j图节点的信息。graphinfo包含节点和关系信息的结构。

标准= {“人”};graphinfo = searchGraph(neo4jconn,criteria);graphinfo。节点
ans =10×3表NodeLabels NodeData NodeObject  __________ ____________ ___________________________________ 0“人”[1×1 struct] [1 x1 database.neo4j.http。Neo4jNode] 48 'Person' [1×1 struct] [1x1 database.neo4j.http。Neo4jNode] 1 'Person' [1×1 struct] [1x1 database.neo4j.http。Neo4jNode] 2 'Person' [1×1 struct] [1x1 database.neo4j.http。Neo4jNode] 3 'Person' [1×1 struct] [1x1 database.neo4j.http。Neo4jNode] 4 'Person' [1×1 struct] [1x1 database.neo4j.http。Neo4jNode] 5 'Person' [1×1 struct] [1x1 database.neo4j.http。Neo4jNode] 9 'Person' [1×1 struct] [1x1 database.neo4j.http。Neo4jNode] 49 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode] 50 'Person' [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]

节点是一个包含以下变量的表:

  • 节点的标签

  • 节点数据

  • Neo4jNode对象

graphinfo包含三个附加节点。

显示关于Neo4j图关系的信息。

graphinfo。关系
ans =11×5表StartNodeID RelationType EndNodeID RelationData RelationObject  ___________ ____________ _________ ____________ _______________________________________ 1 0 '知道' 1[1×1 struct] [1 x1 database.neo4j.http。Neo4jRelation] 0 0 'knows' 2 [1×1 struct] [1x1 database.neo4j.http.]Neo4jRelation] 3 1 'knows' 3 [1×1 struct] [1x1 database.neo4j.http.]Neo4jRelation] 2 2 'knows' 1 [1×1 struct] [1x1 database.neo4j.http.]Neo4jRelation] 5 3 'knows' 4 [1×1 struct] [1x1 database.neo4j.http.]Neo4jRelation] 4 3 'knows' 5 [1×1 struct] [1x1 database.neo4j.http.]Neo4jRelation] 6 5 'knows' 4 [1×1 struct] [1x1 database.neo4j.http.]Neo4jRelation] 8 5 'knows' 9 [1×1 struct] [1x1 database.neo4j.http.]Neo4jRelation] 19 48 'knows' 49 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation] 7 48 'knows' 50 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation] 9 50 'knows' 49 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]

关系是一个包含以下变量的表:

  • 开始节点标识符

  • 关系类型

  • 结束节点标识符

  • 关系数据

  • Neo4jRelation对象

graphinfo包含三个额外的关系。

关闭数据库连接。

关上(neo4jconn)

创建一个有向图通过指定节点和边。然后,通过指定节点标签和关系类型,将有向图存储在Neo4j®数据库中。显示结果Neo4j图的内容。使用输出参数访问图形信息。

假设您在Neo4j数据库中存储了表示社会邻居的图形数据。这个数据库有7个节点和8个关系。每个节点只有一个唯一的属性键的名字取值范围为User1通过User7.每个关系都有类型知道

使用URL创建Neo4j®数据库连接http://localhost:7474/db/data,用户名neo4j,和密码matlab

url =“http://localhost: 7474 / db /数据”;用户名=“neo4j”;密码=matlab的;Neo4jconn = neo4j(url,用户名,密码);

检查消息属性的Neo4j®连接对象neo4jconn.空白的消息属性指示连接成功。

neo4jconn。消息
Ans = []

为节点创建一个表。定义的名字变量,其中包含另外三个人的名字:User8User9,User10.然后,定义分类变量来对每个人进行分类.另外,定义标题变量,其中包含每个人的职位。前两个人是分析师,第三个人是技术人员。

名称= {“User8”“User9”“User10”};分类= {“人”“人”“人”};标题= {“分析师”“分析师”“技师”};Nodetable =表(名称,分类,标题,“VariableNames”...“名字”“分类”“标题”});

创建一个有两条边的表。一条边表示两个人互相认识。另一条边指定两个人一起工作。

Edge1 = [1 2];Edge2 = [3 3];描述= {“知道”“与”};Edgetable = table([edge1',edge2'],description',...“VariableNames”, {“EndNodes”“描述”});

创建一个有向图使用边缘表和节点表创建。

G =有向图(edgetable,nodetable);

将数据存储在有向图对象作为Neo4j数据库中的Neo4j图。属性为生成的Neo4j图中的每个节点指定节点标签“NodeLabel”名称-值对参数。该图使用了分类而且标题用于节点标签的节点表变量。另外,该图使用了描述关系类型的边缘表的变量。

标签= {“分类”“标题”};关系=“描述”;graphinfo = storeDigraph(neo4jconn,G,“NodeLabel”、标签...“RelationType”关系)
graphinfo =带字段的结构:节点:[3×3 table]关系:[2×5 table]

显示关于Neo4j图节点的信息。

graphinfo。节点
ans =3×3表NodeLabels NodeData NodeObject  __________ ____________ ___________________________________ 6{2×1细胞}[1×1 struct] [1 x1 database.neo4j.http。Neo4jNode] 52 {2×1 cell} [1×1 struct] [1x1 database.neo4j.http。Neo4jNode] 7 {2×1 cell} [1×1 struct] [1x1 database.neo4j.http.Neo4jNode]

节点是一个包含以下变量的表:

  • 节点的标签

  • 节点数据

  • Neo4jNode对象

显示关于Neo4j图关系的信息。

graphinfo。关系
ans =2×5表StartNodeID RelationType EndNodeID RelationData RelationObject  ___________ ____________ _________ ____________ _______________________________________ 17 6‘知道’7[1×1 struct] [1 x1 database.neo4j.http。Neo4jRelation] 35 52 'work with' 7 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]

关系是一个包含以下变量的表:

  • 开始节点标识符

  • 关系类型

  • 结束节点标识符

  • 关系数据

  • Neo4jRelation对象

关闭数据库连接。

关上(neo4jconn)

输入参数

全部折叠

Neo4j数据库连接,指定为Neo4jConnect使用函数创建的对象neo4j

有向图,指定为a有向图对象。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:graphinfo = storeDigraph(neo4jconn,G,'GlobalNodeLabel','Person','GlobalRelationType','knows')存储有向图,并指定结果图中的所有节点都具有节点标签和所有关系都具有知道类型。

请注意

如果您没有指定“GlobalNodeLabel”“NodeLabel”,生成的Neo4j图包含没有标签的节点。

全局节点标签,指定为逗号分隔的对,由“GlobalNodeLabel”字符向量,字符向量的单元格数组,字符串标量,或者字符串数组。若要指定一个节点标签,请使用字符向量或字符串标量。若要指定多个节点标签,请使用字符向量的单元格数组或字符串数组。

在执行storeDigraph函数,则结果Neo4j图中的每个节点都包含使用此名称-值对参数指定的节点标签。

例子:“人”

例子:{‘人’,‘员工’}

数据类型:字符|字符串|细胞

节点标签,指定为逗号分隔的对,由“NodeLabel”字符向量,字符向量的单元格数组,字符串标量,或者字符串数组。若要指定一个节点标签,请使用字符向量或字符串标量。若要指定多个节点标签,请指定字符向量的单元格数组或字符串数组。

要为结果Neo4j图中的节点指定不同的标签,可以使用这个名称-值对参数。中指定的节点标签必须与节点信息表中的变量名相匹配有向图对象。

例子:“人”

例子:{“名称”,“标题”}

数据类型:字符|字符串|细胞

全局关系类型,指定为逗号分隔的对,由“GlobalRelationType”和字符向量或字符串标量。要为结果Neo4j图中所有节点之间的关系指定相同类型的关系,请使用这个名称-值对参数。

请注意

指定关系类型时,使用“GlobalRelationType”“RelationType”名称-值对参数。不能同时指定这两个参数。

例子:“知道”

数据类型:字符|字符串

关系类型,指定为逗号分隔的对,由“RelationType”和字符向量或字符串标量。要指定结果Neo4j图中节点之间的不同类型的关系,可以使用这个名称-值对参数。中边缘信息表中的变量名必须匹配有向图对象。

请注意

指定关系类型时,使用“RelationType”“GlobalRelationType”名称-值对参数。不能同时指定这两个参数。

例子:“描述”

数据类型:字符|字符串

输出参数

全部折叠

Neo4j数据库中的图形信息,作为带有这些字段的结构返回。

描述

节点

中每个节点的节点信息关系表格的节点表包含这些变量:

  • NodeLabels—节点标签的字符向量

  • NodeData—结构数组,包含节点信息,如属性键

  • NodeObjectNeo4jNode对象,该对象表示每个节点

表中的行名是Neo4j节点标识符。

关系

中节点的关系信息节点表格的关系表包含这些变量:

  • StartNodeID—每个关系的开始节点标识符

  • RelationType-表示每个关系类型的字符向量

  • EndNodeID—每个关系结束节点的节点标识符

  • RelationData-结构数组,包含与每个关系关联的属性键

  • RelationObjectNeo4jRelation对象,该对象表示每个关系

表中的行名是Neo4j关系标识符。

提示

  • storeDigraph函数存储所有MATLAB®JSON格式的对象字符串Neo4j图形中的等价物。例如,函数存储日期datetime(1月/ 01/2017)作为“1月/ 01/2017”在Neo4j图形中。

版本历史

在R2018a中引入