主要内容

在社会社区中添加和查询同事群

此示例显示如何将存储作为定向图形的一组同事添加到社交邻居中的一组朋友,存储为Neo4J®数据库中的节点和关系。然后,示例然后显示如何使用Cypher®查询语言查询数据库中的图形,这使您可以创建自定义查询。

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

假设您有存储在代表社交社区的Neo4j数据库中的图数据。该数据库有七个节点和八个关系。每个节点只有一个唯一的属性键名称价值来自User1.通过User7.。每个关系都有类型知道

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

连接到Neo4j数据库

创建neo4j连接对象neo4jconn使用URL.http:// localhost:7474 / db / data、用户名neo4j.和密码matlab

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

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

neo4jconn.message.
ans = []

创建定向图形

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

s = [1 1 1];t = [2 3 4];g = digraph(s,t);

为节点指定名称。

g.nodes.name = {“User8”“User9”“User10”“User11”};

绘制数字以查看节点和边缘。

情节(g)

在Neo4j数据库中存储定向图

将定向图作为Neo4j图。通过使用通过使用的NEO4J图表中的所有节点指定两个标签GlobalNodeLabel名称值对参数。另外,指定类型合作通过使用所产生的Neo4j图中的所有关系globalrelationtype.名称值对参数。

graphinfo =存储(Neo4jconn,g,......'globalnodelabel',{'同事'“人”},......“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.]neo4jrelation.] 24 31 'works with' 33 [1×1 struct] [1x1 database.neo4j.http.Neo4jRelation]

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

  • 开始节点标识符

  • 关系类型

  • 结束节点标识符

  • 关系数据

  • neo4jrelation.目的

将群体与现有图中的朋友联系在一起

搜索带有节点标签的节点和物业钥匙名称设置为值User7.User8.通过使用Neo4j数据库连接。

nlabel =“人”;user7 = searchnode(neo4jconn,nlabel,'propertykey'“名字”......“PropertyValue”'user7');user8 = searchnode(neo4jconn,nlabel,'propertykey'“名字”......“PropertyValue”“User8”);

在节点之间添加关系User7.User8.把同事群和朋友群联系起来。

关系型='知道';关系= Creeaterelation(Neo4jconn,User7,User8,Welationtype);

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

在Neo4j数据库上执行Cypher查询

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

查询= ['匹配(:person {name:“user7”}) -  [:知道]  - >(:人) -  [:weather`]'......”——> (potentialContact:人)返回potentialContact.name”];结果= executeCypher (neo4jconn、查询)
结果=3×1表potentialContact_name  _____________________ ' User11“User10 ' ' User9 '

User9.User10.,User11.所有人都与某人合作User7.知道。User7.知道User8.,谁适用User9.User10.,User11.

关闭数据库连接

关闭(neo4jconn)

也可以看看

|

相关的话题

外部网站