我有一个用OWL编写的Ontology。有谁知道我可以加载到python?任何包甚至手动? 在其他问题中提到的rdflib不适合我,因为它主要涉及RDF和“Seth”,这是一个非常好的库不起作用,因为它需要“Pellet”库,网站似乎已经关闭了它(seth)也只适用于JVM 1.4!
答案 0 :(得分:2)
我还没有完全尝试过这个,但您可以将本体加载到Sesame数据库中,然后使用Python包装器进行查询。我和RDFAlchemy和pySesame玩了一点,但我仍然不知道它们有多好。 RDF / OWL数据库对我来说总体上是不成熟的,所以期望遇到一些重大的技术问题。
答案 1 :(得分:2)
在rdfAlchemy文件的commands.py内,有一个命令部分就是为了这个目的而启动的。有一段时间没有使用它,但它正是你所要求的,即从本体创建python skel的开始。
实际上,它使用贴纸“命令”。如果你转到rdfalchemy子目录并输入:
paster rdfSubject -h
Usage: /home/phil/venv/some_path/bin/paster rdfSubject [options]
paster rdfalchemy.commands
Create an rdfSubject subclass with descriptors from an RDF Schema
will set the rdf_type
Descriptors will be created
1. rdfs:domain and rdfs:range are respected
2. rdfSingle is used for properties that are
* owl:InverseFunctionalProperty
* owl:FunctionalProperty
3. rdfList or rdfContainer is used if the proper range is set
4. rdfMultiple is used for all others
The resulting .py file is ment to be a skeleton for the developers confvience.
Do not expect to be able to use the raw results.
Create an rdfSubject subclass with descriptors from an RDF Schema
Options:
-h, --help show this help message and exit
-v, --verbose
-n, --simulate
-s SCHEMA, --schema=SCHEMA
file name or url of rdfSchema for this class
-o FOUT, --fout=FOUT output file name default: stdout (e.g.
../MyRdfModel.py)
-l, --list list valid instances of `owl:Class` in the schema file
答案 2 :(得分:1)
答案 3 :(得分:1)
如果有人再次遇到这个问题,这个包现在可用于与Python中的OWL本体进行交互:https://pypi.org/project/Owlready2/
从项目描述中,它具有以下功能:
答案 4 :(得分:0)
我也可以找到这个ordf,但似乎他们刚刚写了一些文字,但是根本不清楚如何使用它,真可惜!