探索图形数据库结构
这个例子展示了如何遍历图,探索其结构使用MATLAB®接口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 = []
探索整个图的结构
找到所有的节点标签使用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“人”[1×1 struct] [1 x1 database.neo4j.http。Neo4jNode] 2“人”[1×1 struct] [1 x1 database.neo4j.http。Neo4jNode] 3 '人' [1×1 struct] [1 x1 database.neo4j.http。Neo4jNode] 4“人”[1×1 struct] [1 x1 database.neo4j.http。Neo4jNode] 5“人”[1×1 struct] [1 x1 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属性:NodeID: 2 NodeData: [1×1 struct] NodeLabels:‘人’
寻找关系
搜索输入的关系类型,属于节点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:“知道”EndNodeID: 5
搜索所有传入的关系,属于节点nodeinfo
。的relinfo
输出参数包含开始和结束节点的数据和所有匹配关系从原点节点。
relinfo = searchRelation (neo4jconn nodeinfo,“在”)
relinfo =结构体字段:产地:2个节点:[2×3表]关系:(1×5表)
检索整个图
使用节点检索整个图标签nlabels
。
graphinfo = searchGraph (neo4jconn nlabels)
graphinfo =结构体字段:节点(7×3表):关系:[8×5表]
graphinfo
包含所有的开始和结束节点的节点数据为每个匹配关系。graphinfo
还包含关系数据为每个匹配关系。
关闭数据库连接
关上(neo4jconn)
另请参阅
neo4j
|nodeLabels
|relationTypes
|propertyKeys
|searchNodeByID
|searchNode
|nodeRelationTypes
|nodeDegree
|searchRelation
|searchRelationByID