У меня есть набор данных размером около 0,5 миллиона, встроенный в Java-приложение. Я пытаюсь выполнить что-то вроде:
1 - Выполните дружеские друзья, такие как cypher query ("MATCH (n)-[r:rel*3]->(m) return n,r,m")
2 - Выполните запросы на эти подмножества
Идея подобна представлению create в SQL. Я прочитал это сообщение в группе google, это похоже на мою озабоченность.
https://groups.google.com/forum/#!searchin/neo4j/sql$20view/neo4j/kFa8_ZJYzEM/0KuulGphrTYJ
Считаете ли вы, что наилучшим вариантом является маркировка узлов, как своего рода флаг, по первому запросу? Что касается производительности, когда я вспоминаю узлы "флаг", даже если это быстро, я повторно запускаю запрос во всем наборе данных, поэтому я думаю, что это немного утомительно. Есть ли какая-либо другая функция neo4j, которую я забываю? Благодарю.
Маркировка узлов каким-то флагом не кажется очень хорошим вариантом. Вам все равно придется запрашивать узлы, у которых есть специальное свойство, и в этом случае почему бы просто не повторить исходный запрос, создавший представление?
Который, кстати, должен оставаться в качестве опции - просто повторно выдавать запрос по мере необходимости. Вне рук у вас есть несколько других вариантов:
В конечном итоге то, что вы выбираете, зависит от типа запроса, который вы хотите сделать в "представлениях".