Как создать онтологию в python?
Существуют ли библиотеки или определенные "методы", которые можно использовать для создания онтологии элементов?
Или "шаблоны проектирования"?
Я говорю только о "графике" вещей. Предположим, у меня есть куча слов. Некоторые слова "под" другими словами или "связаны" с другими словами. Мне нужен хороший способ сгруппировать их и узнать их отношения.
Ответы
Ответ 2
Вы можете использовать rdflib для хранения троек. Затем вы должны принять собственные решения о том, какую именно онтологию вы хотите построить. Посмотрите на формат OWL для этого.
Я играл с питоном и онтологиями во время моего PhD, поэтому, возможно, быстрое сканирование моей диссертации может дать вам некоторые идеи. Например, краткое резюме OWL или UML-модель инструмента онтологии plone.
Ответ 3
RDFLIB - это зрелая реализация трехмерного хранилища с большим количеством .
Однако эта библиотека работала для меня только для небольших проектов. Например, есть хороший RDF/XML-каталог Gutenberg Project Library, который я не смог взломать (на моем двойном -коре, 2GBRAM), потому что он просто слишком большой (~ 100M) - даже Java/Protege имели тенденцию останавливаться на этих файлах. Жаль.
Альтернатива: http://seth-scripting.sourceforge.net/
Ответ 4
Предположим, у меня есть куча слов. Некоторые слова "под" другими словами или "связанных" с другими словами. мне нужен хороший способ группировать их и знать их отношения.
Взгляните на wordnet, который доступен в формате RDF, то есть в соответствии с онтологией схемы RDF. Это именно то, что вы описываете.
http://www.w3.org/2006/03/wn/wn20/
(C. Fellbaum. WordNet: электронная лексическая база данных. MIT Press, 1998. См. также http://wordnet.princeton.edu/)
(van Assem, Gangemi and Schreiber (eds.). RDF/OWL Представление WordNet, W3C Рабочий проект 19 июня 2006 г. Рабочий проект W3C 19 июня 2006 г. <а2 > )
Ответ 5
онтология - это словарь, который определяет URI и согласовывает значение для каждого из них. Тривиальная онтология - это всего лишь множество URI, которые вы выбираете более или менее из ничего. Этот метод, к сожалению, не дает вам никакой информации о семантических связях ваших онтологических объектов. Чтобы объяснить эти отношения, вы обычно описываете их с файлом OWL, и вы обычно используете для этого инструменты. Я использую Protege. это вполне нормально.
Ответ 6
Если имеет смысл представлять что-то как ориентированный граф, почему бы просто не использовать класс графа? Python-graph предлагает простые представления в виде чистого питона. NetworkX немного сложнее использовать реализацию C.
Ответ 7
Owlready2 - это пакет для управления онтологиями OWL 2.0 в Python. Он может загружать, изменять, сохранять онтологии и поддерживает рассуждения через HermiT (входит в комплект). Owlready обеспечивает прозрачный доступ к онтологиям OWL.