Разработка языка запросов в бинарной модели знаний и транслятора этого языка в язык SQL (бакалаврская работа) (544460), страница 14
Текст из файла (страница 14)
for (int i = 1; i < qv.SimpleAttributes.Count; i++)
{
subquery += " AND " + qv.SimpleAttributes[i] + qv.SimpleAttributeOperators[i] + qv.SimpleAttributeValues[i];
}
}
return subquery;
}
#region SQLQuery VERSION ACTIVE
string CreateSQLQuery(string query)
{
if (goalVariables.Count == 0)
throw new TranslatorException("Не задана целевая переменая");
SQLquery = "SELECT DISTINCT ";
bool firstVariableProceeded = false;
for (int i = 0; i < goalVariables.Count; i++)
{
QueryVariable goalVar = goalVariables[i];
if (goalVar.Class == null)
throw new TranslatorException("Переменная " + goalVar.Name + " неизвестного типа");
for (int j = 0; j < goalVar.NeededAttributes.Count; j++)
{
if (!firstVariableProceeded)
firstVariableProceeded = true;
else
SQLquery += ", ";
string neededAttrSQL = EscapeKeyword(goalVar.Name) + "." + EscapeKeyword(goalVar.NeededAttributes[j]);
if (aggregateFunction != null)
neededAttrSQL = aggregateFunction + "( " + neededAttrSQL + ")";
SQLquery += neededAttrSQL;
}
}
SQLquery += Environment.NewLine;
SQLquery += "FROM " + "(" + CreateSQLSubQuery(variables[0]) + ") AS " + variables[0].Name;
for (int i = 1; i < variables.Count; i++)
SQLquery += Environment.NewLine + "CROSS JOIN " + "(" + CreateSQLSubQuery(variables[i]) + ") AS " + variables[i].Name;
if (variables.Count > 1)
{
SQLquery += Environment.NewLine + "WHERE ";
firstVariableProceeded = false;
for (int i = 0; i < variables.Count; i++)
{
for (int j = 0; j < variables[i].ClassAttributes.Count; j++)
{
if (!firstVariableProceeded)
firstVariableProceeded = true;
else
SQLquery += " AND ";
SQLquery += variables[i].Name + "." + EscapeKeyword(variables[i].ClassAttributes[j]) +
" = " + EscapeKeyword(variables[i].ClassVariables[j].Name) + ".id";
}
}
for (int i = 0; i < AttrPairs.Count; i++)
{
SQLquery += " AND "+ AttrPairs[i].qv1.Name + "." + AttrPairs[i].attr1 + AttrPairs[i].attrOperator + AttrPairs[i].qv2.Name + "." + AttrPairs[i].attr2;
}
}
return SQLquery;
}
#endregion
#region Свойства
public string Query
{
get
{
return query;
}
}
public string SQLQuery
{
get
{
return SQLquery;
}
}
public string Select
{
get
{
return select;
}
}
public string Condition
{
get
{
return condition;
}
}
#endregion
}
}
ЗАКЛЮЧЕНИЕ
В работе были даны краткие сведения об онтологиях, описание БМЗ, разработан язык запросов для БМЗ.
ЛИТЕРАТУРА
[Плесневич, 2003] Плесневич Г.С. Понятийно-ориентированные языки в инженерии знаний // Новости искусственного интеллекта, №6, 2003.
[Plesniewicz, 2004] Plesniewicz G.S. Binary Data and Knowledge Model. Proceedings of the 6th Joint Conference on Knowledge-based Software Engineering, IOS Press, 2004.
[Плесневич, 2005] Плесневич Г.С. Бинарная модель данных и знаний как инструмент для концептуальной спецификации задач дистанционного обучения // Дистанционное обучение - образовательная среда XXI века. Материалы V Международной научно-методической конференции (Ноябрь, Минск), 2005.
[Плесневич, 2008] Полиномиальный алгоритм вывода для бинарных моделей знаний // Сб. трудов Всероссийской научной конференции "Нечеткие системы и мягкие вычисления" (НСМВ-2006, Тверь, 20-22 сентября 2006 г.).- М: Физматлит, 2006.
[Плесневич, 2007] Плесневич Г.С. Общий алгоритм дедукции для бинарных моделей знаний // Интегрированные модели и мягкие вычисления в искусственном интеллекте. Сборник трудов IV-й Международной научно-практической конференции (Коломна, 28-30 мая 2007 г.)
[Плесневич, 2008а] Плесневич Г.С. Система "Бинарная модель знаний" как инструмент для концептуального моделирования бизнес-процессов // Одиннадцатая национальная конференция по искусственному интеллекту с международным участием (Сентябрь, Дубна). Труды конференции. - М.: Ленанд, 2008.)
[Reiter, 1978] Reiter R.. On closed world data bases. In H. Gallaire and J. Minker, editors, Logic and Data Bases, pp. 119–40. – Plenum Publ. Co., New York, 1078.
[Плесневич, 2008б] Плесневич Г.С. Бинарные модели знаний // Международные научно-технические конференции "Интеллектуальные системы" и "Интеллектуальный САПР" (3-10 сентября 2008 г., Дивноморское). Труды конференций, т.2.- М., Физматлит, 2008.
[Плесневич, 2009] Плесневич Г.С. Бинарная модель данных и знаний как система для онтологических баз знаний //Конгресс по интеллектуальным системам и информационным технологиям. - М.: Физматлит, 2009.
[Berners-Lee, 2005] T. Berners-Lee. Primer: getting into RDF and Semantic Web using N3. – http://www.w3.org/2000/10/swap/Primer, 2005
[WordNet. 2012] WordNet – http://wordnet.princeton.edu/, 2012
[KIF, 2012] KIF – http://logic.stanford.edu/kif/dpans.html, 2012
[Gruber, 1993] T. Gruber.A translation apptoach to portable ontology specifications. Knowledge Systems Laboratory, techn. Report KSL 92-71, 1992.-
http://tomgruber.org/writing/ontolingua-kaj-1993.pdf.
[Minsky, 1975] Minsky, M. (1975). A framework for representing knowledge. In P. Winston, Ed., The Psychology of Computer Vision. New York: McGraw-Hill, pp. 211-277. Русский перевод: П. Уинстон. Психология машинного зрения. – М.: Мир, 1978.
[Guarino et al., 1995] Guarino, N., & Giaretta, P. (1995). Ontologies and Knowledge Bases. Towards aTerminological Clarification. In N. Mars (Ed.), Towards Very Large Knowledge Bases:
Knowledge Building and Knowledge Sharing (pp. 25–32). Amsterdam: IOS Press.
[RIF W3C, 2010] RIF Basic Logic Dialect W3C Recommendation 22 June 2010 – http://www.w3.org/TR/2010/REC-rif-bld-20100622/.
[Handbook DL, 2003] F. Baader, D. Calvanese, D. McGuinness, D. Nardi, P. Patel-Schneider (eds.). The description logic handbook: theory, implementation and application.- Cambridge University Press, 2003.
[Sowa, 1984] J.F. Sowa. Conceptual structures: information processing in mind and machine.- Addison Wesley, 1984.
[Hayes, 1980] P.J. Hayes, P. J. (1980). The logic of frames. In D. Metzing, Ed., Frame Conceptions and Text Understanding. – Berlin: deGruyter, pp. 46-61.
[SWRL, 2004] A Semantic Web Rule Language Combining OWL and RuleML W3C Member Submission 21 May 2004 – http://www.w3.org/Submission/2004/SUBM-SWRL-0040521/.
[Карнап, 1959] Р. Карнап. Значение и необходимость. – М.: ИЛ, 1959.
[Guarino et al., 2004] N. Guarino, D. Oberle, S. Staab. What is an ontology. In: S. Staab, R. Studer (eds.) Handbook on ontologies. – Springer, 2004.
[Manola et al., 2004] F. Manola, E. Miller. RDF Primer, W3C Recommendation, 2004. – http://www.w3.org/TR/rdf-primer/.
Содержание
АННОТАЦИЯ 1
ВВЕДЕНИЕ 2
ГЛАВА 1 ОБЩИЕ СВЕДЕНИЯ ОБ ОНТОЛОГИЯХ И ЯЗЫКАХ ДЛЯ СПЕЦИФИКАЦИИ ОНТОЛОГИЙ 3
1.1. Содержание онтологии 4
1.2 Цели создания онтологий 5
1.3. Области применения онтологий 8
1.4. Формальная концептуализация и формальные онтологии 9
1.5. Формальная модель понятия и концептуальные языки 17
ГЛАВА 2 БИНАРНАЯ МОДЕЛЬ ЗНАНИЙ 24
2.1. Синтаксис имен, используемых в БМЗ 24
2.2. Бинарная Модель Данных 26
2.2.1. Спецификация типов данных 27
2.2.2. Конструкторы типов данных 28
2.2.3. Спецификация функций 35
2.2.4. Спецификация структуры объектов 39
2.2.5. Синтаксис языка структурной спецификации 42
2.2.6. Атрибутные условия и интервальные ограничения 42
2.2.7. Структурные схемы 46
2.2.8. Представление данных в БМД 47
2.2.9. Логические предложения. 50
ГЛАВА 3 ЯЗЫК ЗАПРОСОВ ДЛЯ БИНАРНОЙ МОДЕЛИ ДАННЫХ 52
3.1. Примеры запросов 52
3.2. Описание запросов 54
3.3. Описание алгоритма трансляции. 57
3.4. Примеры работы транслятора. 60
ГЛАВА 4 ОПИСАНИЕ И ИСПОЛЬЗОВАНИЕ ПРОГРАММЫ, РЕАЛИЗУЮШЕЙ ТРАНСЛЯТОР 66
4.1. Описание интерфейса программы. 66
4.2. Задание схемы 67
4.3. Использование транслятора в программном коде. 69
4.4. Программа с подключенной базой данных. 69
ПРИЛОЖЕНИЕ 71
Сообщения об ошибке в запросе 71
Код программы 73
Файл Onthology.cs 73
Файл Translator.cs 75
ЗАКЛЮЧЕНИЕ 92
ЛИТЕРАТУРА 93















