фильтрация моделирования предметной области с использованием графовой базы данных

Кто-нибудь поможет с лучшим способом представить/запросить следующую проблему

  1. продукты можно продавать в магазине, p1 -> s1, p2 -> s1, p1 -> s2...
  2. продукты могут продаваться только в магазине в зависимости, например, от географического расположения магазина (север, юг, восток...) и размера местоположения (маленький, средний, большой) или комбинации свойств магазина/продукта. Это ограничения, которые определяют, какие продукты будут продаваться в магазине.

Я хотел бы иметь возможность спросить, я магазин s1, какие товары я могу продавать?

ценю любую мысль о хорошем подходе к решению этой проблемы, я думал, что база данных графов, такая как neo4j, будет подходящей, но у меня ограниченный опыт их использования, поэтому любые указатели будут иметь ценность.


person kevj    schedule 10.07.2012    source источник


Ответы (1)


вы, вероятно, могли бы смоделировать местоположения и размеры как узлы и подключить к ним хранилища, а затем вы можете выполнять запросы к ним с помощью Cypher, http://docs.neo4j.org/chunked/snapshot/cypher-query-lang.html, см. http://tinyurl.com/d8lnvbm для примера

START p=node(1) match p-[:SOLD_IN]->store-[:LOCATED]->l, store-[:CATEGORY]->c
WHERE l.name="north" AND c.name="big" 
RETURN store
person Peter Neubauer    schedule 13.07.2012
comment
Извините за задержку с ответом вам, Питер! спасибо за пример выглядит здорово, почти то, что мы тоже придумали :-) - person kevj; 20.07.2012