我们拥有什么:
我们当前系统(实体,属性,关系)的本体信息保存在图db中。
如果那么关于实体,财产,关系的规则。
当前任务。
本体信息
汤姆有车。 海伦有电话。汤姆已经20岁了。
海伦已经30岁了。
汤姆是海伦的朋友。规则(模式)
如果(X有汽车,Y有电话,X大于18且Y大于18且X是Y的朋友),那么 - >他们可以开始出租车业务。
当前任务
为汤姆创造任何商机。特别是,系统必须识别情境模式,因此可以与规则匹配。在模式基础上,必须生成解决方案(预测当前情况):
只要汤姆和海伦是朋友,他们都不到18岁,汤姆有车,海伦有电话, - >汤姆可以与海伦一起开始出租车服务业务。
我的问题:我可以用neo4j实现它(或者用它作为这种系统的模块)吗?如果是这样,我在哪里可以找到相关的用例或示例?
答案 0 :(得分:0)
您可以代表您描述的示例(使用Cypher):
SportsCar.
这会生成如下图:
您可以查询Tom的商机(与您描述的模式匹配的路径),如下所示:
CREATE (tom:Person)
SET tom.name = "Tom",
tom.age = 20
CREATE (helen:Person)
SET helen.name = "Helen",
helen.age = 30
CREATE (tom)-[:FRIENDS_WITH]->(helen)
CREATE (c:Car {desc: "2015 Red Honda Fit"})
CREATE (tom)-[:HAS_CAR]->(c)
CREATE (p:Phone {desc: "iPhone 6s"})
CREATE (helen)-[:HAS_PHONE]->(p)
此查询返回:
MATCH (p:Phone)<-[:HAS_PHONE]-(friend:Person)-[:FRIENDS_WITH]-(t:Person {name: "Tom"})-[:HAS_CAR]->(c:Car)
WHERE t.age > 18 AND friend.age > 18
RETURN t.name AS Tom, friend.name AS business_partner,
p.desc AS phone, c.desc AS car
Here是一个Neo4j控制台实例,用于演示此内容。