Построение базы знаний для автономного управления беспилотными транспортными средствами
- Авторы: Романов А.А.1, Рубцов И.А.1, Святов К.В.1, Филиппов А.А.1
-
Учреждения:
- Ульяновский государственный технический университет
- Выпуск: Том 14, № 1 (2024)
- Страницы: 94-106
- Раздел: ИНЖИНИРИНГ ОНТОЛОГИЙ
- URL: https://journals.ssau.ru/ontology/article/view/27801
- DOI: https://doi.org/10.18287/2223-9537-2024-14-1-94-106
- ID: 27801
Цитировать
Полный текст
Аннотация
Представлен подход к построению и использованию базы знаний для автономного управления беспилотными транспортными средствами. В качестве предметной области представлено сельское хозяйство. Отсутствие достаточного количества и уровня квалификации механизаторов приводит к простою техники, снижению урожайности культур и эффективности использования химикатов. Использование беспилотных транспортных средств позволяет уменьшить влияние данных факторов и снизить вредное воздействие на людей, работающих в сельском хозяйстве. В статье основной упор сделан на учёт особенностей и ограничений предметной области при построении траекторий движения беспилотных транспортных средств и управлении средствами обработки. Предложен подход, состоящий из этапов проектирования схемы базы знаний, автоматизации процесса наполнения базы знаний и организации функции логического вывода. Для каждого этапа приведены разработанные модели и алгоритмы, позволяющие сформировать и использовать базу знаний при решении задачи автономного управления беспилотными транспортными средствами. Статья содержит примеры и иллюстрации, призванные повысить наглядность предложенного подхода.
Полный текст
Введение
Применение интеллектуальных систем (ИС) для автоматизации бизнес-процессов позволяет снизить интеллектуальную нагрузку на специалистов большого числа предметных областей (ПрО). Широкое распространение получили ИС, в основе которых лежат методы машинного обучения (МО) и нейросетевые модели. МО высоко ценится разработчиками ИС из-за широких возможностей адаптации к решению задач при наличии достаточной обучающей выборки. Однако пока не решён вопрос объяснимости результатов, полученных с помощью МО.
В ряде работ рассматриваются вопросы построения ИС на основе методов инженерии знаний. Например, в работах [1-5] разрабатываются базы знаний (БЗ) и средства поддержки их жизнеспособности. В отличие от МО БЗ позволяют формализовать знания об особенностях ПрО в форме, которая одинаково понятна как человеку, так и вычислительной машине. В БЗ знания эксперта представлены в явном виде.
В данной работе рассмотрен подход к построению и использованию БЗ для автономного управления беспилотными транспортными средствами (БПТС) в сельском хозяйстве (СХ).
1 Постановка задачи
Задача управления БПТС является актуальной [6-10]. Применение БПТС в СХ позволяет повысить производительность труда, снизить нагрузку и воздействие вредных веществ на персонал. Можно выделить два основных подхода к управлению БПТС, это использование:
- набора географических координат, по которым передвигается БПТС;
- систем машинного зрения.
Для применения БПТС в СХ требуется построение гибридной системы, объединяющей оба подхода, а также включающей подсистему управления средствами обработки СХ полей и культур. Поле является объектом с известными границами, и на нём не предполагается оживлённое движение других объектов. Необходимо построить траекторию движения БПТС с учётом особенностей ПрО. Существует вероятность, что на поле может оказаться посторонний объект, поэтому БПТС должно иметь возможность корректировки траектории. Необходимо также управлять средствами обработки для эффективного расходования удобрений и химикатов. Таким образом, требуется решение следующих подзадач:
- оснащение транспортного средства оборудованием для автономного управления;
- формирование БЗ для построения траектории движения БПТС и управления средствами обработки с учётом особенностей ПрО;
- разработка алгоритма построения траектории движения БПТС;
- разработка модели машинного зрения;
- сбор обучающей выборки для тренировки подсистемы машинного зрения для корректирования траектории движения БПТС;
- сборка системы управления БПТС и средствами обработки.
2 Модель БЗ задачи построения траектории движения БПТС
В работе [11] отмечено, что одной из проблем построения эффективного алгоритма управления БПТС является необходимость учёта особенностей ПрО. Можно выделить следующие особенности ПрО СХ:
- параметры поля: координаты границы поля, характеристики почвы, показатели урожайности СХ культур, история использования поля, наличие вредителей и др.;
- особенности обрабатываемых СХ культур: требования к почве, требования к процессам обработки, требования к удобрениям и химикатам, влияние вредителей и др.;
- особенности процесса обработки: траектория обработки поля, периодичность обработки, требования к средствам обработки, требования к БПТС и др.;
- параметры и особенности БПТС: габариты, угловая скорость, вес, мощность двигателя, поддерживаемые средства обработки, принцип установки средств обработки и др.;
- параметры средств обработки: способ обработки, объём резервуара для химикатов, требования к мощности двигателя БПТС, требования к способу крепления на БПТС и др.
Для формирования БЗ при решении задачи управления БПТС в работах [12-14] предлагается использовать онтологии, основанные на дескрипционной логике (ДЛ) [15]. Это позволяет использовать машины логического вывода для получения новых знаний и проверки логической целостности и непротиворечивости содержимого БЗ с учётом ограничений ПрО. Онтологии позволяют описывать знания в виде продукционных правил. Известны онтологии для ПрО СХ разных уровней [3, 16-19].
Теоретико-множественное представление модели БЗ имеет вид: где – схема БЗ, которая определяет доступное для использования множество классов сущностей ПрО, их свойства, а также отношения между сущностями; ABox – содержимое БЗ; SWRL – множество продукционных правил на языке SWRL [20].
Модель БЗ задачи автономного управления БПТС является фрагментом модели БЗ и представляет собой набор аксиом ДЛ, которые определяют модель знаний БЗ с учётом ограничений и особенностей ПрО решаемой задачи. Таблица 1 содержит операторы ДЛ, которые используются для формализации модели БЗ решаемой задачи.
Таблица 1 – Операторы ДЛ и их соответствие операторам языка OWL
ДЛ | OWL | Описание |
| owl:Thing | Класс верхнего уровня |
| owl:Nothing | Пустой класс |
| A owl:SubClassOf B | Включение классов (родитель-потомок) |
| [A, B] owl:DisjointClasses | Непересекающиеся классы |
| [A, B] owl:equivalentClasses | Эквивалентные классы |
| A and B | Пересечение (конъюнкция) классов |
| R only A | Универсальное ограничение |
| R some A | Экзистенциальное ограничение |
| R exactly n A | Ограничение кардинальности |
TBox модели БЗ формируется администратором БЗ вместе с экспертом данной ПрО.
Для удобства классу добавлено функциональное свойство (ФС) для определения текстового представления имени сущности, которая унаследована остальными классами БЗ: .
Основные классы сущностей модели БЗ для описания особенностей ПрО:
– поле, в пределах которого осуществляется автономное управление БПТС;
– БПТС;
– средства обработки поля, которые могут быть установлены на БПТС;
– СХ культуры, которые могут располагаться на поле;
– объекты, которые могут мешать передвижению БПТС на поле;
– географические координаты.
Все представленные классы являются потомками класса (наследование), а также определены в качестве непересекающихся:
.
ФС класса имеют вид:
,
где и – ФС для определения габаритов БПТС: ширина и длина соответственно;
– ФС для указания значения радиуса разворота БПТС;
– ФС, значение которого соответствует мощности двигателя БПТС.
ФС класса имеют вид:
,
где – ФС для определения требований средства обработки к мощности двигателя БПТС; – ФС, указывающее на тип средства обработки. Возможные значения данного ФС заданы в перечислении .
ФС специфичные для определённых классов средств обработки на примере разбрасывателей удобрений () и полевых опрыскивателей () имеют вид:
;
,
,
где – ФС – значение диаметра разбрасывающих удобрения дисков;
– ФС, указывающее на объём резервуара для химикатов;
классы и являются наследниками класса и наследуют его свойства и . Эти классы объявлены непересекающимися.
Свойства класса имеют вид:
,
где – свойство, определяющее множество средств обработки, которые могут быть применены к данной СХ культуре;
– ФС, значение которого указывает на тип траектории, по которой необходимо перемещаться БПТС, при обработке данной СХ культуры;
– перечисление, содержащее типы траекторий БПТС.
Класс имеет следующие ФС:
,
где и – ФС, определяющие множество координат в виде долготы и широты соответственно.
Свойства класса :
,
где – ФС, задающее тип объекта значением из перечисления , например овраги () и солончаки ();
– свойство для определения множества координат объекта на поле.
Свойства класса :
t,
где – свойство для определения множества координат границы поля;
– ФС для определения СХ культуры, которая находится на поле;
– свойство, указывающее объекты, которые могут быть расположены на поле.
Модель БЗ может уточняться и дополняться в процессе логического вывода с помощью набора продукционных правил.
3 Разработка БЗ для задачи построения траектории движения БПТС
Определены следующие требования к средствам построения и формирования БЗ для задачи автономного управления БПТС. В частности, необходимо наличие средств для:
- формирования схемы () БЗ для описания особенностей ПрО;
- создания продукционных правил, описывающих правила и закономерности ПрО;
- автоматизации формирования содержимого () БЗ на основе схемы ();
- проверки непротиворечивости и целостности знаний, а также получения новых знаний и их интерпретации на основе механизма логического вывода.
3.1 Формирование схемы БЗ и продукционных правил
Для формирования схемы БЗ и продукционных правил на языке SWRL использован редактор онтологий Protégé [21]. Данный редактор основан на библиотеке OWL API, позволяет создавать и редактировать продукции на языке SWRL с помощью библиотеки SWRL API и может использовать машину логического вывода Pellet.
В результате схема БЗ и множество продукций на языке SWRL представляются в виде онтологии на языке OWL.
3.2 Средства для автоматизации формирования содержимого БЗ
Для автоматизации процесса формирования содержимого () БЗ на основе схемы () разработано приложение, основанное на динамической генерации экранных форм для ввода данных на основе структуры метаданных.
В качестве хранилища разработанного приложения используется графовая система управления базами данных (СУБД) Neo4j [22]. Данная СУБД не использует реляционную модель данных и не накладывает ограничения на модель данных, что позволяет загружать в Neo4j данные любой структуры в виде графа без предварительной подготовки. Для выполнения запросов к содержимому Neo4j необходимо знать структуру метаданных. Основным преимуществом использования СУБД Neo4j является поддержка транзакций, что делает возможной коллективную работу по заполнению БЗ несколькими экспертами. Neo4j имеет специальный язык запросов Cypher, который ориентирован для работы с графом и позволяет создавать эффективные запросы к хранилищу.
В качестве источника для получения метаданных используется схема БЗ (). Метаданные позволяют:
- генерировать экранные формы для ввода данных с необходимым набором элементов управления;
- накладывать ограничения на тип и наличие данных для отдельных элементов управления;
- формировать запросы на добавление и извлечение данных из Neo4j.
Теоретико-множественное представление метаданных имеет вид :
где E – множество сущностей ПрО (классы БЗ); A – множество свойств сущностей; R – множество отношений, которые связывают сущность и её свойства; Enum – множество перечислений, которые используются в качестве допустимого множества значений отдельных свойств.
Множество сущностей имеет вид: , где – i-я сущность метаданных. Каждая сущность имеет свойство type для определения типа сущности и свойство name для определения имени (представления) сущности в пользовательском интерфейсе. Представление задаётся через аннотацию (элемент языка OWL) схемы БЗ. Например, для класса Field – .
Множество атрибутов сущностей можно записать как: ,
где – j-й атрибут метаданных. Атрибут метаданных имеет следующие свойства: – тип атрибута, name – представление атрибута, – тип данных атрибута, – признак обязательности заполнения.
Тип данных атрибута может принимать следующие значения: простые типы данных (строка, число, дата, булево); ссылка на другую сущность; коллекция (список).
Например, для свойства создан атрибут со следующими свойствами: .
Множество перечислений можно представить в виде следующего выражения:
,
где – k-е перечисление, в котором: type – свойство для определения типа перечисления, name – представление сущности, – множество значений перечисления. Например, перечисление представлено как .
Множество отношений R имеет вид: , где – l-е отношение между сущностью и её атрибутом , например, .
Для получения метаданных на основе схемы БЗ используется функция вида:
.
Функция реализуется следующим алгоритмом:
- для каждого перечисления схемы БЗ выполнить преобразование:
, например,
.
- для каждого класса схемы БЗ выполнить преобразование:
, например, .
- для каждого свойства i-го класса схемы БЗ выполнить преобразование:
, например,
.
Рисунок 1 – Пример экранной формы для ввода информации о поле
Тип данных атрибута определяется на основе ограничений и типов данных соответствующего свойства схемы БЗ: если у свойства есть экзистенциальное ограничение () и универсальное ограничение ( и свойство не является функциональным, то типом данных атрибута является коллекция, иначе не коллекция.
Итоговый тип данных определяется на основе множества допустимых типов значений из схемы БЗ. Признак обязательности заполнения значения атрибута определяется на основе ограничений схемы БЗ: если у свойства есть универсальное ограничение (, то атрибут должен быть обязательно заполнен.
Для автоматизации процесса заполнения БЗ клиентская часть приложения получает метаданные для генерации интерфейса и данные для отображения в нём. Генерация интерфейса осуществляется следующей функцией:
.
Например, необходимо ввести данные о некотором экземпляре класса . В клиентской части приложения используются полученные метаданные класса для генерации экранной формы приложения, представленной на рисунке 1. Для каждого атрибута на основе значений его свойств создаётся определённое поле ввода. Например, для атрибута создано следующее поле на языке HTML:
<div class="mb-3">
<label for="hasName" class="form-label">Название</label>
<input type="text" class="form-control" id="hasName" required value="данные">
</div>
Как видно из примера разметки, для задания ограничения типа данных используется атрибут type, а для указания обязательности заполнения значения атрибут required тега input. Данные задаются через атрибут value тега input.
Для атрибута HTML-разметка имеет вид:
<div class="mb-3">
<label for="hasBorderCoordinate" class="form-label">Координаты</label>
<br />
<button class="btn btn-primary" type="button">Добавить</button>
<div id="hasBorderCoordinate" class="list-group mt-2"
role="listbox" aria-required="true">
<div class="list-group-item list-group-item-action d-flex flex-row">
<span class="flex-grow-1 align-self-center">данные</span>
<a href="#"><i class="bi bi-trash3"></i></a>
</div>
…
<div class="list-group-item list-group-item-action d-flex flex-row">
<span class="flex-grow-1 align-self-center">данные</span>
<a href="#"><i class="bi bi-trash3"></i></a>
</div>
</div>
</div>
Так как метаданные содержат все требуемые сведения, при необходимости можно легко заменить шаблоны для генерации элементов управления и представлять коллекции значений в виде таблицы.
Для работы с хранилищем данных Neo4j используются следующие функции:
, .
Функция позволяет автоматически генерировать запрос на языке Cypher для создания записи данных в хранилище Neo4j.
Алгоритм работы функции состоит из следующих шагов.
- создание узла для добавляемого экземпляра сущности. Например, для объекта класса : MERGE (e1:Field{name: 'Поле'}).
- поиск атрибутов с типом данных, ссылающихся на экземпляр другой сущности. Например, для класса это атрибуты и . Далее создаются команды для записи в хранилище связанных сущностей. Для атрибута :
MERGE (e2:Coordinate{name: 'Координата'})
MERGE (e2a1:Value{value: '54.19'})
MERGE (e2a2:Value{value: '48.22'})
MERGE (e2)-[:latitude]->(e2a1)
MERGE (e2)-[:longitude]->(e2a2).
- создание узлов для атрибутов, которые не ссылаются на другие сущности:
MERGE (e1a1:Value{value: 'Поле1'}).
- организация связи между экземпляром сущности и его атрибутами:
MERGE (e1)-[:hasName]->(e1a1)
MERGE (e1)-[:hasBorderCoordinate]-(e2).
В результате выполнения представленного запроса сформирован фрагмент графа, показанный на рисунке 2.
Рисунок 2 – Пример содержимого БЗ
Как видно из рисунка 2, данные о поле записываются в БЗ в качестве фрагмента. Жирным начертанием выделена сущность класса , а фоном отмечены значения свойств сущности . На рисунке 2 приведены также примеры представления сущностей других классов: БПТС УАЗ Патриот, опрыскиватель полевой штанговый полуприцепной ОПМ-2505 В, СХ культура картофель, овраг, расположенный на поле. Для всех обозначенных сущностей заданы значения их свойств.
Функция используется для получения данных из хранилища Neo4j. Например, для получения списка всех сущностей класса используется запрос:
MATCH p=(f:Field)-[r*..]->(v) RETURN p.
Для получения конкретного поля будет сформирован следующий запрос:
MATCH p=(f:Field)-[r*..]->(v) WHERE ID(f)=201 RETURN p.
Таким образом, автоматизация формирования содержимого () БЗ снижает нагрузку на эксперта по сравнению с наполнением БЗ средствами редактора Protégé.
3.3 Механизм логического вывода
Графовая СУБД Neo4j поддерживает механизм логического вывода, но возможности его ограничены. Следовательно, необходимо выполнять логический вывод средствами, разработанными специально для онтологий. Функция логического вывода реализуется с помощью библиотек OWL API, SWRL API и машины логического вывода Pellet.
Выполнение функций логического вывода позволяет гарантировать корректность содержимого БЗ, логическую целостность и непротиворечивость ограничениям ПрО. В результате логического вывода на основе множества продукционных правил на языке SWRL в БЗ формируются новые знания. Продукционные правила позволяют изменять логику работы с БЗ без изменения алгоритма автономного управления БПТС, что повышает гибкость алгоритма и его живучесть в процессе эксплуатации системы.
Для реализации логического вывода используются следующие функции:
,
.
Функция на основе метаданных извлекает из Neo4j необходимые данные и записывает их в онтологию в формате OWL. При этом заполняется онтология, положенная в основу схемы БЗ , полученная на этапе формирования схемы БЗ.
Алгоритм работы функции состоит из следующих шагов.
- получить множество классов БЗ на основе метаданных M: .
- для каждой сущности из состава метаданных M выполнить запрос к Neo4j:
MERGE (o: )-[:hasName]->(name).
- создать аксиомы БЗ для определения сущностей для i-го класса БЗ:
.
- получить множество свойств i-го класса из модели метаданных M:
.
- для каждого j-го атрибута сущности из состава метаданных M выполнить запрос к Neo4j: MERGE (o: )-[: ]->(value).
- создать аксиомы БЗ для определения j-го свойства сущностей для i-го класса БЗ: .
Далее запускается машина логического вывода Pellet, которая выполняет логический вывод по содержимому полученной OWL-онтологии. Выполнение множества SWRL-правил позволяет получать новые знания и использовать их для автономного управления БПТС. В случае возникновения ошибок пользователь должен внести исправления.
Например, SWRL-правило, которое позволяет добавить для класса дополнительные свойства и , значения которых указывают на необходимое средство для обработки и тип траектории движения БПТС в зависимости от СХ культуры, имеет вид:
.
Новые свойства класса , сформированные в процессе логического вывода, также могут быть использованы в качестве атомов других SWRL-правил, например для определения подходящих БПТС на основе требований средств обработки к мощности двигателя:
.
Заключение
В статье рассмотрена задача формирования БЗ для автономного управления БПТС с учётом особенностей ПрО СХ.
Предложены информационная модель БЗ, позволяющая учитывать различные особенности и ограничения при решении задачи автономного управления БПТС, и автоматизированный способ формирования схемы БЗ. Для автоматизации процесса формирования содержимого БЗ предложена информационная модель метаданных, которая используется для генерации динамических экранных форм, позволяющих снизить нагрузку на эксперта и реализовать функцию коллективного заполнения БЗ.
Предложен подход к организации логического вывода для проверки логической целостности и непротиворечивости содержимого БЗ перед выполнением задачи автономного управления БПТС. Механизм логического вывода используется также для получения новых знаний на основе множества продукционных правил на языке SWRL, что делает алгоритм построения траектории более гибким.
Об авторах
Антон Алексеевич Романов
Ульяновский государственный технический университет
Email: romanov73@gmail.com
к.т.н., заведующий кафедрой «Информационные системы», член Российской ассоциации искусственного интеллекта (РАИИ)
Россия, УльяновскИван Алексеевич Рубцов
Ульяновский государственный технический университет
Email: ria0294@mail.ru
магистр конструкторско-технологического обеспечения машиностроительных производств, заведующий лабораторией «Инновационные технологии в машиностроении»
Россия, УльяновскКирилл Валерьевич Святов
Ульяновский государственный технический университет
Email: k.svyatov@gmail.com
к.т.н., декан факультета информационных систем и технологий, заведующий кафедрой «Вычислительная техника»
Россия, УльяновскАлексей Александрович Филиппов
Ульяновский государственный технический университет
Автор, ответственный за переписку.
Email: al.al.filippov@gmail.com
к.т.н., доцент кафедры «Информационные системы», член Российской ассоциации искусственного интеллекта (РАИИ)
Россия, УльяновскСписок литературы
- Грибова В.В., Москаленко Ф.М., Тимченко В.А., Шалфеева Е.А. Создание жизнеспособных интеллектуальных систем с управляемыми декларативными компонентами // Информационные и математические технологии в науке и управлении. 2018. №. 3 (11). С.6-17. doi: 10.25729/2413-0133-2018-3-01.
- Кузьмин В.Р., Загорулько Ю.А. Применение агентно-сервисного подхода при разработке интеллектуальных систем поддержки принятия решений в энергетике // Вестник Новосибирского государственного университета. Серия: Информационные технологии. 2020. Т.18. №.3. С.5-18. doi: 10.25205/1818-7900-2020-18-3-5-18.
- Боргест Н.М., Будаев Д.В., Травин В.В. Онтология проектирования точного земледелия: состояние вопроса, пути решения // Онтология проектирования. 2017. Т.7. №4(26). С.423-442. doi: 10.18287/2223-9537-2017-7-4-423-442.
- Беглер А.М., Кудрявцев Д.В., Гаврилова Т.А. Применение онтологий для интеграции данных эмпирических исследований // Восемнадцатая Национальная конференция по искусственному интеллекту с международным участием КИИ-2020. Труды конференции. Под ред. В.В. Борисова, О.П. Кузнецова. М.: Издательство: МФТИ. 2020. С.3-11.
- Борисов В.В., Трусов А.С., Кульчицкий П.В., Извозчикова В.В. Автоматизация технической диагностики нефте-газового оборудования // Нефтегазовое производство - основа научно-технического прогресса и экономической стабильности. 2020. С.362-367.
- Xie B., Jin Y., Faheem M., Gao W., Liu J., Jiang H., Cai L., Li Y. Research progress of autonomous navigation technology for multi-agricultural scenes // Computers and Electronics in Agriculture. 2023. Vol.211. 107963. doi: 10.1016/j.compag.2023.107963.
- Hu J., Gao L., Bai X., Li T., Liu X. Review of research on automatic guidance of agricultural vehicles // Transactions of the Chinese Society of Agricultural Engineering. 2015. Vol.31(10). P.1–10.
- Liu L., Lu S., Zhong R., Wu B., Yao Y., Zhang Q., Shi W. Computing systems for autonomous driving: State of the art and challenges // IEEE Internet of Things Journal. 2020. Vol.8(8). P.6469–6486. doi: 10.1109/JIOT.2020.3043716.
- Badue C., Guidolini R., Carneiro R.V., Azevedo P., Cardoso V.B., Forechi A., Jesus L., Berriel R., Paixão T.M., Mutz F., de Paula Veronese L., Oliveira-Santos T., De Souza A.F. Self-driving cars: A survey // Expert Systems with Applications. 2021. Vol.165. 113816. doi: 10.1016/j.eswa.2020.113816.
- Bhalla A., Nikhila M.S., Singh P. Simulation of self-driving car using deep learning // 2020 3rd International Conference on Intelligent Sustainable Systems (ICISS). IEEE, 2020. P.519–525. doi: 10.1109/ICISS49785.2020.9315968.
- Teeti I., Khan S., Shahbaz A., Bradley A., Cuzzolin F. Vision-based Intention and Trajectory Prediction in Autonomous Vehicles: A Survey // Proceedings of the Thirty-First International Joint Conference on Artificial Intelligence, IJCAI-22, Lud De Raedt, Ed. 2022. Vol.7. P.5630–5637.
- Chen W., Kloul L. An advanced driver assistance test cases generation methodology based on highway traffic situation description ontologies // International Joint Conference on Knowledge Discovery, Knowledge Engineering, and Knowledge Management. Springer, Cham, 2018. P.93–113. doi: 10.1007/978-3-030-49559-6_5.
- Ryu M., Cha S.H. Context-awareness based driving assistance system for autonomous vehicles // Int. J. Control Autom. 2018. Vol.11(1). P.153–162. doi: 10.14257/ijca.2018.11.1.14.
- Syzdykbayev M., Hajari H., Karimi H.A. An ontology for collaborative navigation among autonomous cars, drivers, and pedestrians in smart cities // 4th International Conference on Smart and Sustainable Technologies (SpliTech). IEEE, 2019. P.1–6. doi: 10.23919/SpliTech.2019.8783045.
- The description logic handbook: Theory, implementation and applications / F. Baader (ed.). UK, Cambridge : Cambridge university press, 2003. P.1–23.
- Bhuyan B.P., Tomar R., Cherif A.R. A Systematic Review of Knowledge Representation Techniques in Smart Agriculture (Urban) // Sustainability. 2022. Vol.14(22). 15249. doi: 10.3390/su142215249.
- Saraswathi D., Manibharathy P., Gokulnath R., Sureshkumar E., Karthikeyan K. Automation of hydroponics green house farming using IoT // 2018 IEEE International Conference on System, Computation, Automation and Networking (ICSCA). IEEE, 2018. P.1–4. doi: 10.1109/ICSCAN.2018.8541251.
- Urkude G., Pandey M. AgriOn: a comprehensive ontology for Green IoT based agriculture // Journal Green Eng. 2020. Vol.10(9). P.7078–7101.
- Jäger M., Nadschläger S., Phan T.N., Küng J. Data, information & knowledge sources in the agricultural domain // 2015 26th International Workshop on Database and Expert Systems Applications (DEXA). IEEE, 2015. P.115–119. doi: 10.1109/DEXA.2015.40.
- O'Connor M.J., Shankar R.D., Nyulas C., Tu S.W., Das A.K. Developing a Web-Based Application using OWL and SWRL // AAAI spring symposium: AI meets business rules and process management. 2008. P.93–98.
- Protégé: A free, open-source ontology editor and framework for building intelligent systems: https://protege.stanford.edu.
- Neo4j Graph Database & Analytics: https://neo4j.com.