Python 中面向本体的编程模块:将 OWL 2.0 本体加载为 Python 对象,修改它们,保存为 OWL XML,并通过 HermiT 执行推理。它还可以生成用于编辑实例的对话框。
项目描述
Owlready(以前称为 Ontopy)是 Python 3 中面向本体的编程模块。
注意:不推荐使用 Owlready 以支持新版本 Owlready2:
http://bitbucket.org/jibalamy/owlready2(开发版)
https://pypi.python.org/pypi/Owlready2(稳定版)
猫头鹰可以:
以 OWL/XML 格式导入和导出 OWL 2.0 本体(尚不支持其他文件格式)。
透明地操作本体类、实例和属性,就好像它们是普通的 Python 对象一样。
将 Python 方法添加到本体类。
使用 HermiT 推理器执行类和实例的自动分类。
使用Editobj3自动生成编辑本体实例的对话框。
Owlready 由 Jean-Baptiste Lamy 在 LMICS 研究实验室创建。它在 GNU LGPL 许可证 v3 下可用。如果您在科学作品中使用 Owlready,请引用以下文章:
拉米JB。Owlready:Python 中面向本体的编程,具有自动分类和生物医学本体的高级构造。 医学人工智能 2017 ;80C:11-28
如有问题、问题或意见,请使用此论坛/邮件列表: http: //owlready.8326.n8.nabble.com
我可以用 Owlready 做什么?
从本地存储库或 Internet 加载本体:
>>> from owlready import * >>> onto_path.append("/path/to/your/local/ontology/repository") >>> onto = get_ontology("http://www.lesfleursdunormal.fr/static/_downloads/pizza_onto.owl") >>> onto.load()
在本体中创建新类,可能混合 OWL 限制和 Python 方法:
>>> class NonVegetarianPizza(onto.Pizza): ... equivalent_to = [ ... onto.Pizza ... & ( restriction("has_topping", SOME, onto.MeatTopping) ... | restriction("has_topping", SOME, onto.FishTopping) ... ) ] ... def eat(self): print("Beurk! I'm vegetarian!")
访问本体类,并创建新的实例/个体:
>>> onto.Pizza pizza_onto.Pizza >>> test_pizza = onto.Pizza("test_pizza_owl_identifier") >>> test_pizza.has_topping = [ onto.CheeseTopping(), ... onto.TomatoTopping(), ... onto.MeatTopping () ]
导出到 OWL/XML 文件:
>>> test_onto.save()
执行推理,并对实例和类进行分类:
>>> test_pizza.__class__ onto.Pizza >>> # Execute HermiT and reparent instances and classes >>> onto.sync_reasoner() >>> test_pizza.__class__ onto.NonVegetarianPizza >>> test_pizza.eat() Beurk! I'm vegetarian !
有关更多文档,请查看源代码中的 doc/ 和 doc/examples/ 目录。
变更日志
0.2
修复 windows 下的 sync_reasonner 和 Hermit 调用(感谢 Clare Grasso)
0.3
添加警告
接受不以“.owl”结尾的本体文件
修复加载本体时的错误,包括 IRI 中没有“#”的概念
0.3.1
添加指向 Owlready2 和 Nabble 论坛/邮件列表的链接
添加 load_ontology_from_file()
添加 unload_all_ontologies()
删除调试文件 /tmp/sortie_hermit.txt
在文档和自述文件中添加人工智能医学科学文章
链接
BitBucket 上的 Owlready(开发存储库):https ://bitbucket.org/jibalamy/owlready
PyPI 上的 Owlready(Python 包索引,稳定版本):https ://pypi.python.org/pypi/Owlready
文档: http: //pythonhosted.org/Owlready
论坛/邮件列表: http: //owlready.8326.n8.nabble.com
联系“Jiba”让-巴蒂斯特·拉米:
<jean-baptiste.lamy *@* univ-paris13 *.* fr> LIMICS University Paris 13, Sorbonne Paris Cité Bureau 149 74 rue Marcel Cachin 93017 BOBIGNY FRANCE