У меня большой нециклический ориентированный граф.
У каждого узла есть несколько пар ключ / значение.Некоторые ключи можно искать по диапазону.
Допустим, все узлы имеют следующие ключи:
- цвет - красный, синий, зеленый и т. Д.
- цена- целое число
- размер - целое число
Я хочу выбрать список узлов в моем графике так, чтобы:
- все узлы имели цвет =красный
- все узлы имеют цену> = 10 и <= 20 </li>
- список упорядочен по возрастанию
- любой узел, который соответствует критериям цвета и цены и не имеетoutlinks (ребра не идут от этого узла) находится в списке
- нет двух узлов в списке с общим ребром
В идеале, список будет иметьмаксимальное количество узлов, которое может удовлетворить все эти ограничения.
Мне нужно очень быстро найти этот график.
Какой тип хранилища данных (график или иное) лучше всего подходит для этого?проблема?Любые советы о том, как реализовать схему и запрос для достижения максимальной производительности?