主要内容

添加和查询社交邻居中的同事组

此示例显示如何将一组同事(存储为有向图)添加到社交社区中的一组朋友(存储为Neo4j®数据库中的节点和关系)。然后,此示例显示如何使用Cypher®查询语言查询数据库中的图,该语言使您能够创建自定义查询。

关于Neo4j的MATLAB®接口的详细信息,请参见Neo4j数据库接口的图形数据库工作流.

假设您将图形数据存储在表示社交邻居的Neo4j数据库中。该数据库有七个节点和八个关系。每个节点只有一个唯一的属性键名称值的范围为用户1通过用户7.每个关系都有一个类型知道.

本地机器托管带有端口号的Neo4j数据库7474、用户名neo4j,以及密码matlab。此图提供数据库中数据的可视化表示。

连接到Neo4j数据库

创建Neo4j连接对象neo4jconn使用URLhttp://localhost:7474/db/data、用户名neo4j,以及密码matlab.

url ='http://localhost:7474/db/data'; 用户名=“neo4j”;密码=“matlab”;neo4jconn = neo4j (url、用户名、密码);

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

neo4jconn.Message
ans=[]

创建有向图

通过在MATLAB中创建一个有向图来定义一组四名同事有向图对象,它有四个节点和三条边。

s=[1 1];t=[2 3 4];G=有向图(s,t);

指定节点的名称。

G.Nodes.name={“User8”“User9”“User10”“User11”};

绘制有向图以查看节点和边。

地块(G)

在Neo4j数据库中存储有向图

将有向图存储为Neo4j图。使用GlobalNodeLabel名称-值对参数。此外,请指定类型配合通过使用全局关系类型名称-值对参数。

graphinfo=存储有向图(neo4jconn,G,...“全球nodelabel”, {“同事”,“人”},...“GlobalRelationType”,“与”);

显示图形中第一个节点的节点标签。

graphinfo.Nodes.NodeLabels {1}
ans=2×1单元阵列{'人'}{'同事'}

结果是字符向量的单元格数组。每个字符向量是第一个节点的节点标签。

在图形中显示关系。

graphinfo。关系
ans=3×5表StartNodeID RelationType EndNodeID RelationData RelationObject  ___________ ____________ _________ ____________ _______________________________________ 20 31“适用于”8[1×1 struct] [1 x1 database.neo4j.http。Neo4jRelation [1×1 struct] [1x1 database.neo4j.http.]NeO4J关系] 24 31 'works with' 33 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]

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

  • 开始节点标识符

  • 关系类型

  • 端节点标识符

  • 关系数据

  • NeO4J关系对象

将同事组连接到现有图表中的朋友

搜索带有节点标签的节点和属性键名称设置为值用户7用户8通过使用Neo4j数据库连接。

nlabel=“人”;user7=searchNode(neo4jconn,nlabel,“房地产公司”,“名字”,...“PropertyValue”,“User7”);user8=searchNode(neo4jconn,nlabel,“房地产公司”,“名字”,...“PropertyValue”,“User8”);

在节点之间添加关系用户7用户8把同事群和朋友群联系起来。

关系类型=“知道”;relation=createRelation(neo4jconn,user7,user8,relationtype);

在Neo4j数据库中显示结果图。

在Neo4j数据库上执行Cypher查询

创建一个Cypher查询来查找与人一起工作的人用户7知道。显示那些人的名字。

查询= ['MATCH(:Person{name:'User7})-[:knows]->(:Person)-[:`workswith`]'...”——> (potentialContact:人)返回potentialContact.name”];结果= executeCypher (neo4jconn、查询)
结果=3×1表potentialContact_name  _____________________ ' User11“User10 ' ' User9 '

用户9,用户10,用户11所有的人都是这样的用户7知道。用户7知道用户8,与谁一起工作用户9,用户10,用户11.

关闭数据库连接

关闭(neo4jconn)

另见

|

相关的话题

外部网站