添加和查询组的同事在社会社区
这个例子展示了如何添加一个组的同事,存储为一个有向图,一群朋友在社交社区,存储节点和关系在Neo4j®数据库。然后的例子展示了如何查询数据库中的图像通过使用数码®的查询语言,它使您能够创建自定义查询。
Neo4j MATLAB®的详细信息界面,看到的图形数据库的工作流Neo4j数据库接口。
假设你有图Neo4j数据库中存储的数据代表社会社区。该数据库有7个节点和8个关系。每个节点只有一个惟一的属性键的名字
从与一个值User1
通过User7
。每个关系的类型知道
。
本地计算机主机Neo4j数据库的端口号7474年
、用户名neo4j
和密码matlab
。这个图提供了一个可视化表示的数据在数据库中。
连接到Neo4j数据库
创建一个Neo4j连接对象neo4jconn
使用URLhttp://localhost: 7474 / db /数据
、用户名neo4j
和密码matlab
。
url =“http://localhost: 7474 / db /数据”;用户名=“neo4j”;密码=matlab的;neo4jconn = neo4j (url、用户名、密码);
检查消息
Neo4j连接对象的属性neo4jconn
。空白的消息
属性表示连接成功。
neo4jconn.Message
ans = []
建立有向图
定义一组4个同事在MATLAB通过创建一个有向图。创建一个有向图
对象有四个节点和三条边。
s = (1 1 1);t = (2 3 4);G =有向图(s, t);
指定节点的名称。
G.Nodes.name = {“User8”;“User9”;“User10”;“User11”};
有向图来查看节点和边的阴谋。
情节(G)
Neo4j数据库中存储有向图
商店Neo4j图的有向图。指定两个标签中的所有节点生成Neo4j图使用GlobalNodeLabel
名称-值对的论点。同时,指定类型适用于
所有关系的结果Neo4j图使用GlobalRelationType
名称-值对的论点。
graphinfo = storeDigraph (neo4jconn G,…“GlobalNodeLabel”,{“同事”,“人”},…“GlobalRelationType”,“与”);
显示第一个节点的节点标签的图。
graphinfo.Nodes.NodeLabels {1}
ans =2×1单元阵列{'人'}{'同事'}
结果是一个单元阵列的特征向量。每个字符向量是第一个节点的节点标签。
图中显示的关系。
graphinfo.Relations
ans =3×5表StartNodeID RelationType EndNodeID RelationData RelationObject ___________ _______ _____ _______ _______________________________________ 20 31”与“8 [1×1 struct] [1 x1 database.neo4j.http。Neo4jRelation) 23日31日”与“32 [1×1 struct] [1 x1 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
连接组同事的朋友。
relationtype =“知道”;关系= createRelation (neo4jconn user7、user8 relationtype);
Neo4j数据库中生成的图形显示。
Neo4j数据库上执行密码查询
创建一个密码查询与人找到工作的人User7
知道。显示这些人的名字。
查询= [匹配(:人{名称:“User7”})——(知道):- >(人)-[:”与“]”…”——> (potentialContact:人)返回potentialContact.name '];结果= executeCypher (neo4jconn、查询)
结果=3×1表potentialContact_name _____________________‘User11’‘User10’‘User9’
User9
,User10
,User11
所有的人一起工作User7
知道。User7
知道User8
工作与User9
,User10
,User11
。
关闭数据库连接
关上(neo4jconn)