Тут у меня вопросик возник. Может кто знает или мысль выродит полезную. Я придумываю спецификацию языка RBOL (RoboBrain Ontology Language). За его прототип беру OWL 2. Но т.к. этот язык предназначен для обмена знаниями, а не для хранения, то нужно определить требования к этому потоковому языку. А то получится как с WMF от мелкомягких. Потоковые требования к формату сообщений на RBOL, например могут быть такими: начать декодирование не дожидаясь получения всего сообщения (да/нет).
Не понял, а в чем вопрос? Какая цель? Сделать из языка OWL 2 для хранения инфы в онтологических терминах язык для передачи информации в этих же терминах, завернутый в FIPA?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
=DeaD= писал(а):Не понял, а в чем вопрос? Какая цель? Сделать из языка OWL 2 для хранения инфы в онтологических терминах язык для передачи информации в этих же терминах, завернутый в FIPA?
А не проще выбрать сейчас любой формат и просто реализовать прототип рабочей системы?
Добавлено спустя 1 минуту 10 секунд: Что-то очень много языков нужно определять, оно реально требуется такое сложное? Нет ничего готового и более простого хотя бы от части?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Суть RoboBrain в том, чтобы перерабатывать знания. Конкретные знания о внутренних компонентах, например, значение регистра 5 в контроллере 76, но и знания о внутреннем и окружающем мире в абстрактной форме. Взять к примеру зрение. В одной его части происходит манипулирование кромками, яркостями, далее - координатами, 3D поверхностями, освещенностями, текстурами, много далее - классами видимых объектов. Чтобы все это связать воедино и универсально обрабатывать, нужен единый язык описания и передачи знаний. Он должен основываться на единой онтологии, известной всем узлам в системе, а кроме того, на правилах создания и связывания понятий в онтологию (мысль), подлежащую передаче. Эти правила я беру в OWL.
http://ru.wikipedia.org/wiki/TCP/IP взгляните - тут много уровней. И все они нужны для чего- то. Рассмотрим, для чего нужны уровни. Правильнее было бы расположить уровни по наследованию свойств так: 3. RBIL (RoboBrain Interchange Language), RBRL (RoboBrain Rule Language), RBRL (RoboBrain Query Language)... 2. RBSL (RoboBrain Semantic Language) 1. RBOL (RoboBrain Ontology Language)
RBOL описывает правила создания онтологий. RBSL предлагает словарь (базовую онтологию), описанный с пом RBOL. RBIL, RBRL... опираясь на RBSL с пом. синтаксиса RBOL, описывают конкретные знания.
А по физической вложенности: 2. RBRL (RoboBrain Rule Language), RBRL (RoboBrain Query Language)... 1. RBIL (RoboBrain Interchange Language).
Т.е. на языке RBIL создаем сообщение, в которое вкладываем содержание на языках RBRL, RBRL и др. Но при этом все сообщение со всеми потрохами кодируется/декодируется в формате RBOL.
=DeaD= писал(а):Так TCP\IP разрабатывался каким коллективом? А что у нас в активе?
Поэтому я стараюсь там, где только можно, использовать мировые наработки. Но как всегда, нужна доработка по месту напильником. В OWL есть классы, индивиды классов и свойства. Дам примеры в Манчестерском синтаксисе.
1. Класс Woman это субкласс класса Person Class: Woman SubClassOf: Person
2. Конкретный индивид Mary является представителем класса Person Individual: Mary Types: Person
Ок, т.е. есть сколько угодно классов (метаданные) организованных в дерево, а есть сколько угодно представителей классов (индивидов\объектов) относящихся к каким-то классам, так?
Отношения в OWL определены? Свойства более менее понятно, как определяются.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
=DeaD= писал(а):Ок, т.е. есть сколько угодно классов (метаданные) организованных в дерево, а есть сколько угодно представителей классов (индивидов\объектов) относящихся к каким-то классам, так?
Так.
=DeaD= писал(а):Отношения в OWL определены?
Да
=DeaD= писал(а):Свойства более менее понятно, как определяются.
Ну хорошо, есть у нас язык для хранения информации, в нём же поставляем новую информацию, осталось язык запросов и всё вроде? Откуда куча языков определена была?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
=DeaD= писал(а):Ну хорошо, есть у нас язык для хранения информации, в нём же поставляем новую информацию, осталось язык запросов и всё вроде? Откуда куча языков определена была?
На этой кухоньке пекут продукционные правила: http://www.w3.org/2005/rules/wiki/RIF_Working_Group - Rule Interchange Format (RIF) А вот здесь можно узнать насчет OWL реализации правил: http://www.w3.org/2005/rules/wiki/OWLRL http://www.w3.org/standards/semanticweb/query - здесь про язык запросов SPARQL Т.о. важные компоненты, позволяющие работать с сообщениями, основанными на знаниях включая самые абстрактные, а также позволяющие обрабатывать полученную либо хранимую информацию в виде онтологий есть. Первым делом нужно: 1. Создать/выбрать базовую онтологию верхнего уровня. 2. Формализовать бинарное представление языка RBOL (RoboBrain Ontology Language).