Neo4j 中是否有某种方法可以对类型层次结构进行建模?例如,如果我想构建汽车的类层次结构,我可能有一个“Car”基类型,然后有扩展它的子类,例如“SportCar”等。
我希望能够创建“SportCar”的实例,但运行查询来获取所有“Car”。这可能吗?如果有的话,技术是什么?
我认为我想做的是创建一个“标签层次结构” - 但我只是认为 Neo4j 不支持这一点。
Paul,
首先,我建议您阅读“Graph Databases”,这是一本免费的 O'Reilly 电子书,可在这个链接 http://graphdatabases.com/?_ga=1.90014557.756355080.1402340292.
作为快速回答,有多种方法可以完成此类事情,最佳选择取决于您要解决的问题。一种方法是构造一个“Car”节点,然后将“SportCar”节点与“Car”节点相关联,其类型关系如下
CREATE (m:Car)
MATCH (m:CAR) WITH m CREATE (n:SportCar)-[:IS_A]->(m)
并创建其他类型的汽车,也将它们与汽车节点相关联。
然后您可以通过以下方式找到所有汽车
MATCH (m:Car)<-[:IS_A]-(n) RETURN n
您还可以在每个节点上放置 Car 和 SportCar(以及 LuxoCar 等)标签。这只是众多方法中的两种。
恩典与平安,
Jim
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)