design logical - palexisru/pl2_rus GitHub Wiki
Основными прототипами для логического программирования являются языки Prolog и SQL, а также XQuery. Основные аналогичные виды данных XML и RDF.
В данной версии предполагается, что база предикатов, по которой происходит поиск, имеет структуру, схожую с RDF, но отличается тем, что предикат задается не отдельным глаголом, а ролью субъекта и ролью объекта.
Таким образом, предикат образуется тетраплетом: роль субъекта, субъект, роль объекта, объект.
Это позволяет легко создавать и находить непосредственные связи, обратные с позиции субъекта и объекта.
Выражение самого предиката можно определять для видов связи субъекта и объекта по таблице, хотя ролей в большом количестве случаев достаточно для опознания вида связи.
Список возможных ролей уточняется, например, в теме Habrahabr