AdvOntology
Общее описание
Состоит из двух частей
- типы концептов и их значения
- связи между ними.
Каждый концепт имеет тип и кладется в соответствующую таблицу. Для получения концепта необходимо указать имя типа и ID. Имя типа не должно начинаться с _ – такие имена будут использоваться для системных нужд.
Связи отражают связи между концептами. Несмотря на то, что связи имеют имена, обращаться к ним по именам НЕ РЕКОМЕНДУЕТСЯ. Мотивация следующая: потенциально при работе со связями необходимо только знать типы концептов, между которыми установлена связь, а не полностью сигнатуру связи. Для получения реальных связей должны использоваться внутренние функции модуля. Однако, поскольку это решение более трудоемко, в качестве временной подставки в функциях можно использовать имя связи.
Была сделана попытка обойтись без объявления связи как типа данных, однако задача Wiki-редактирования показала, что такой подход будет не очень эффективным.
Пример
<?php
addType("Opposition", "varchar(150)", true);
addType("Scheme", "varchar(150)", true);
addType("Text", "varchar(150)", true);
addLinkType(array("Opposition", "Opposition", "Text", "Scheme"), "Diagramma");
$oppo1 = addConcept("Opposition", "рождение - смерть");
$oppo2 = addConcept("Opposition", "глотать - выплюнуть");
$scheme1 = addConcept("Scheme", "blank.jpg", "<Пустая схема>");
$text1 = addConcept("Text", "Волка ноги кормят");
addLink("Diagramma", array("1Opposition" => $oppo1,
"2Opposition" => $oppo2, "1Scheme" => $scheme1, "1Text" => $text1));
?>