2015-09-06 4 views
2

Я хотел бы изменить способ, которым Cypher обрабатывает запросы, отправленные ему для сопоставления шаблонов. Я прочитал о планах Execution и о том, как Cypher выбирает лучший план с наименьшим количеством операций и всего. Это очень хорошо. Однако я изучаю реализацию функции поиска сходства, которая позволяет вам указать граф запросов, который будет сопоставляться, если не точный, близкий (похожий). Я видел несколько примеров этого в теории. Я хотел бы реализовать что-то подобное для Neo4j. Я предполагаю, что это потребует изменения в том, как Query Engine имеет дело с запросами, отправленными на него. Или еще хуже :)Изменение механизма запросов Cypher

Вот некоторые ссылки, которые демонстрируют идею

http://www.cs.cmu.edu/~dchau/graphite/graphite.pdf http://www.cidrdb.org/cidr2013/Papers/CIDR13_Paper72.pdf

Я ищу идеи. Все, что угодно по отношению к теме, было бы полезно. Заранее спасибо

(Я) < - [: NEEDING_HELP_FROM] - (: ВАС)

+0

и в чем ваш вопрос? –

+0

Что мне нужно для создания чего-то подобного для neo4j? – iongraphix

+1

Конечно, вы можете развить Neo4j на github и внести свои изменения в Cypher прямо там - однако для этого требуется много знаний о внутренних структурах. Думаю, вам лучше следовать рекомендациям @ MicTech. –

ответ

3

С моей точки зрения, лучше для вас, чтобы создать Unmanaged Extensions.

Поскольку вы можете создавать собственные пользовательские функции на сервере Neo4j.

Вы не можете расширить язык Cypher без собственной вилки исходного кода.

+0

Ничего себе! это большой. Итак, вы говорите, что невозможно создать новое ключевое слово Cypher через неуправляемые расширения? Итак, как вы думаете, я мог бы пойти по этой идее? – iongraphix

Смежные вопросы