如何在python中创建本体?

时间:2009-11-19 10:22:05

标签: python text computer-science ontology

是否有可用于创建元素本体的库或某些“技术”?

或“设计模式”?

我说的只是一个事物的“图表”。 假设我有一堆词。某些词在“其他词之下”或与其他词“相关”。我需要一个好方法来分组他们并了解他们的关系。

7 个答案:

答案 0 :(得分:9)

您可以使用rdflib存储三元组。然后,您必须自己决定要构建的本体类型。看看OWL格式。

我在博士期间玩弄了蟒蛇和本体,所以也许快速浏览我的论文可以给你一些想法。例如short OWL summaryUML model of a plone ontology tool

答案 1 :(得分:5)

答案 2 :(得分:4)

RDFLIB是三重商店的成熟实现,有很多documentation

但是,这个图书馆只适用于较小的项目。例如,有一个很好的Gutenberg Project Library的RDF / XML目录,我无法用它(在我的双核,2GBRAM机器上),因为它太大了(~100M) - 甚至Java / Protege倾向于在这个文件大小上停滞不前。真遗憾。

替代方案:http://seth-scripting.sourceforge.net/

答案 3 :(得分:4)

  

假设我有一堆词。   某些词语在“其他词语之下”   或与其他词语“相关”。我需要一个   分组他们并了解他们的好方法   关系。

查看wordnet,它以RDF格式提供,即根据RDF Schema本体。这正是你所描述的。

http://www.w3.org/2006/03/wn/wn20/


(C.Fellbaum.WordNet:An Electronic Lexical Database.MIT Press,1998。另见http://wordnet.princeton.edu/

(van Assem,Gangemi和Schreiber(编辑).RDF / OWL表示WordNet,W3C工作草案2006年6月19日W3C工作草案2006年6月19日; http://www.w3.org/TR/2006/WD-wordnet-rdf-20060619/

答案 4 :(得分:3)

本体是一个字典,用于定义URI并就每个URI的含义达成一致。一个简单的本体只是一堆你或多或少突然发现的URI。遗憾的是,此方法未向您提供有关本体实体的语义关系的任何信息。要解释这些关系,通常使用OWL文件来描述它们,并且通常使用工具来实现此目的。我使用Protege。没关系。

答案 5 :(得分:2)

如果将某些东西表示为有向图是有意义的,为什么不使用图表类呢? Python-graph提供简单的纯python图表表示。 NetworkX使用C实现稍微困难一些。

答案 6 :(得分:1)

Owlready2是用于在Python中操作OWL 2.0本体的软件包。它可以加载,修改,保存本体,并支持通过HermiT(包括在内)进行推理。 Owlready允许透明地访问OWL本体。