Cypher-房地产买卖双方所需的建模帮助

时间:2019-05-30 01:47:20

标签: neo4j cypher modeling

我正在尝试为房地产的买方和卖方市场建模不同的选择。

我无法提出图形数据库模型(Neo4J)根据属性标准将买家与卖家匹配。 我想让房地产经纪人输入他们的客户要求-像买家要求(客户X想在东京以$ 4的价格购买房屋),卖家要求(客户Y想在日本的位置卖出4卧房)

示例: 卖方-想要出售其财产的人。财产可以是房屋,办公室。 卖方可能有兴趣出售或出租房屋。

买方:相同-买方希望购买物业(房屋,办公室) 买家可能有兴趣购买或租赁该物业。

有属性参数-例如面积(1440平方英尺),位置(曼哈顿,纽约),预算(550,000美元),4床房,...

  1. 我的要求是使买家与卖家建立联系,反之亦然。
  2. 即使房地产经纪人没有可用的财产,如果他有匹配的客户要求,他也可以联系下一个房地产经纪人。

请帮助我进行最适合这种情况的节点和关系建模。

我尝试连接 (:RealEstateBroker)-[:HAS_CLIENT]->(买方{name:'X'})-[:BUY_ON_RENT]->(house:House)-[:HAS_ROOMS]->(:Rooms {rooms:3}) (房子)-[:HAS_STREET]->(街道:街道{title:'4th street'})

(:RealEstateBroker)-[:HAS_CLIENT]->(卖方{name:'Y'})-[:SELL_ON_RENT]->(:House {premiseName:'Beverly Hills'})-[:HAS_ROOMS]-> (:Rooms {rooms:3})

1 个答案:

答案 0 :(得分:0)

我要咬一口,但这听起来并不像一个StackOverflow问题。但我不知道将您导向何处,所以去吧。听起来您的问题相当笼统:您只需要建模帮助。这是我对像Neo这样的图形数据库的一种粗略方法。

  • 节点类型:人员,属性,愿望。

  • 人员道具:

    • 名称
  • 道具:

    • 街道
    • 城市
    • 国家
    • offerPrice(如果不出售,则为0,或者您可以使用isForSale布尔值)
    • numRooms
    • numBedrooms
    • numBaths
    • 区域 ...
  • 希望:

    • desiredStreets
    • 期望城市
    • desiredCountries
    • desiredRoomRange
    • 所需价格范围
    • desiredAreaRange ...
  • 关系:

    • [:Person]->(IsBrokerFor)->[:Person]
    • [:Person]->(Owns)->[:Property]
    • [:Person]->(Wishes)->[:Wish]

您将进行很多范围查询以进行匹配。找到希望范围包括待售物业的人。 (密码详细信息供您找出或提出其他问题。):)

请注意,您不需要经纪人,卖方,买方等的节点类型。这是因为一个人既可以是经纪人,也可以是买方,而某人可以购买一处房产并出售另一处。可以从人际关系中推断出一个人的角色

典型的免责声明:我不知道您的确切需求,因此在这里做任何回答,只是可以在您做出最终决定时使用的一些想法。

此外,顺便说一句:还要考虑使用搜索引擎(例如Elasticsearch)来执行此类匹配任务。他们确实很好地进行了范围查询。