2013-03-22 197 views
0

给定一个电影数据库,是有可能进行加权基于某些行动者和以薄膜分%各自的存在的存在的每个节点,仅返回节点高于指定阈值?请提供一个示例(一般)查询。Neo4j的节点的加权值

居:

Threshold: 600 (entered dynamically, not present in DB) 

Actor: Good Guy 
Val: +12 (entered dynamically, not present in DB) 

Actor: Bad Guy 
Val: -2 (entered dynamically, not present in DB) 

Movie: Nice Movie 
Length: 120min 
Good Guy presence: 70min 
Bad Guy presence: 10min 

Val: 120/70*100*(+12) + 120/10*100*(-2) 
If Val > 600 then return the node 

而且,是Neo4j的合适的数据库对于这种操作还是Mysql的优越这类用法?

回答

1

这更是一个设计问题,而不是您选择的数据库之一,但肯定的,因为它是一个属性图,你可以存储之类的东西的重量为节点或关系的性质Neo4j的将是一个不错的人选。这就是说,你可能想把重量放在关系上而不是节点上,这样你就可以对演员/女演员和电影做一个简单的搜索,作为一种聚合。