Если я правильно понимаю, вы ищете все узлы типа Child, у которых нет исходящего ребра типа: PARENT. В этом случае в настоящее время я не вижу, как вы можете достичь этого с помощью подмножества OpenCypher у нас есть быстрое и простое решение: можно ввести новую функцию OUT_DEGREE, которая будет возвращать количество исходящих ребер из данного узла, тогда вы сможете фильтровать по OUT_DEGREE (n, "PARENT") = 0
Ознакомьтесь с ремонтником велосипедов http://bicyclerepair.sourceforge.net/
Что такое ремонтник велосипедов? Проект Bicycle Repair Man - это попытка создать функциональность браузера для Python. Он упакован в виде библиотеки, которую можно добавить в IDE и редакторы, чтобы обеспечить возможности рефакторинга. Привязки для Emacs и Vi включены в пакет.
Никогда не использовал его сам, но читал об этом. Похоже, что вы ищете.
Я не знаю, существует ли этот тип инструмента на каком-либо конкретном языке, хотя концепция упоминалась в книге рефакторинга Мартина Фаулера ( веб-ссылка ).
лучший из известных мне инструментов - цикломатическая сложность. В этой статье реализован счетчик цикломатической сложности для python.
Другой простой метрикой для цели является длина метода / функции, количество атрибутов объектов / классов и количество параметров для функций, если я помню, их уже подсчитал pylint.
NetBeans имеет версию с ранним доступом, которая поддерживает Python, и это довольно приятно. У меня есть несколько основных инструментов рефакторинга, которые я считаю полезными. В качестве дополнительного бонуса он работает в Windows, Linux, Mac OS X и Solaris.
Проверьте это по адресу: http://www.netbeans.org/features/python/
О, Забудьте о своем инструменте, вместо этого используйте TDD и хорошую книгу вроде рефакторинга шаблонов проектирования Кериевского. Проблема в том, что рефакторинг - это способ улучшить ваш код и дизайн, но только вы можете знать, чего хотите достичь, ни один инструмент рефакторинга не может сделать это за вас.
Я считаю, что лучший способ научиться рефакторингу - это изучить примеры, чтобы не следовать некоторым глупым / простым инструментам, потому что они не научат вас сложному рефакторингу и не скажут, есть ли у вас рефакторинг, который хорошо сочетается с вашим кодом.
PS Прочтите Фаулер «Рефакторинг» и Кериевский «Рефакторинг для проектирования При изучении рефакторинга необходимо прочитать эти книги. И они упоминают простой способ проверить, нужен ли рефакторинг (запах). Бек «Разработка через тестирование на примере» - хорошая книга для начала. А в Python есть PyUnit для TDD.