这个示例展示了如何使用MATLAB®Neo4j®接口遍历一个图形并探索其结构。关于Neo4j的MATLAB接口,请参见面向Neo4j数据库接口的图形数据库工作流.
假设您在代表社会社区的Neo4j数据库中存储了图形数据。这个数据库有7个节点和8个关系。每个节点只有一个唯一的属性键的名字
取值范围为User1
通过User7
.每个关系都有类型知道
.
本地机器托管带有端口号的Neo4j数据库7474
、用户名neo4j
和密码matlab
.该图提供了数据库中数据的可视化表示。
创建一个Neo4j连接对象neo4jconn
使用URLhttp://localhost:7474/db/data
、用户名neo4j
和密码matlab
.
url =“http://localhost: 7474 / db /数据”;用户名=“neo4j”;密码=matlab的;neo4jconn = neo4j (url、用户名、密码);
检查消息
属性neo4jconn
.空白的消息
属性表示连接成功。
neo4jconn。消息
ans = []
使用Neo4j连接对象查找Neo4j数据库中的所有节点标签neo4jconn
.
nlabels = nodeLabels (neo4jconn)
nlabels =1×1单元阵列{'人'}
在Neo4j数据库中找到所有关系类型。
reltypes = relationTypes (neo4jconn)
reltypes =1×1单元阵列{'知道'}
在Neo4j数据库中查找属性键。
propkeys = propertyKeys (neo4jconn)
propkeys =15×1单元阵列{'名字'}{“财产”}{“标题”}{“描述”}{‘EndNodes}{“位置”}{‘EndDate}{'地址'}{‘项目’}{“部门”}{' StartDate可以'}{“标题”}{‘日期’}{“重量”}{“名字”}
搜索所有带有节点标签的节点人
.的nodesinfo
输出参数包含节点标签、节点数据和Neo4jNode
对象的每个匹配节点。
nlabel =“人”;nodesinfo = searchNode (neo4jconn nlabel)
nodesinfo =7×3表NodeLabels NodeData NodeObject __________ ____________ ___________________________________ 0“人”[1×1 struct] [1 x1 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]
搜索具有节点标识符的节点2
.的nodeinfo
输出参数包含节点标识符、节点数据和具有节点标识符的节点的节点标签2
.
nodeid = 2;nodeinfo = searchNodeByID (neo4jconn nodeid)
nodeinfo = Neo4jNode with properties: NodeID: 2
搜索属于该节点的传入关系类型nodeinfo
.
nodereltypes = nodeRelationTypes (nodeinfo,“在”)
nodereltypes =1×1单元阵列{'知道'}
搜索属于该节点的所有传入关系的程度nodeinfo
.
度= nodeDegree (nodeinfo,“在”)
度=结构体字段:知道:1
搜索与节点标识符的关系4
.
relationid = 4;relationinfo = searchRelationByID (neo4jconn relationid)
relationinfo = Neo4jRelation与属性:RelationID: 4 RelationData: [1×1 struct] StartNodeID: 3 RelationType: 'knows' EndNodeID: 5
搜索属于该节点的所有传入关系nodeinfo
.的relinfo
输出参数包含关于起始节点和结束节点以及来自起始节点的所有匹配关系的数据。
relinfo = searchRelation (neo4jconn nodeinfo,“在”)
relinfo =结构体字段:来源:2节点:[2×3 table]关系:[1×5 table]
使用节点标签检索整个图nlabels
.
graphinfo = searchGraph (neo4jconn nlabels)
graphinfo =结构体字段:节点:[7×3 table]关系:[8×5 table]
graphinfo
包含每个匹配关系的所有开始和结束节点的节点数据。graphinfo
还包含每个匹配关系的关系数据。
关上(neo4jconn)
neo4j
|nodeLabels
|relationTypes
|propertyKeys
|searchNodeByID
|searchNode
|nodeRelationTypes
|nodeDegree
|searchRelation
|searchRelationByID