8

我有一个用 OWL 编写的本体。有谁知道我可以将它加载到 python 中?任何软件包甚至手动?其他问题中提到的 rdflib 不适合我,因为它主要与 RDF 和“Seth”有关,这是一个非常好的库,它不起作用,因为它需要“Pellet”库,而网站似乎已经关闭并且它(seth) 也仅适用于 JVM 1.4!

4

5 回答 5

2

我还没有完全尝试过,但是您可以查看将您的本体加载到Sesame数据库中,然后使用 Python 包装器对其进行查询。我玩过RDFAlchemypySesame一点,但我仍然不知道它们有多好。总的来说,RDF/OWL 数据库对我来说非常不成熟,所以预计会遇到一些重大的技术挑战。

于 2011-02-23T17:36:37.823 回答
2

commands.py文件的rdfAlchemy中,有一个 commands 部分是为此目的而启动的。有一段时间没有使用它,但它正是您所询问的问题的开始,即从本体创建 python 骨架。

事实上,它使用粘贴“命令”。如果您转到 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
于 2012-06-23T20:19:38.837 回答
1

是的,RDFLib 在 RDF 语义上工作,因此您需要一个工具包来管理 OWL 语义。

我通常会首先使用另一个工具来获取所有三元组(例如 OWLAPIOWLRL),然后将其加载到 RDFLib 中。

于 2012-05-14T10:05:51.983 回答
1

万一有人再次偶然发现这个问题,这个包现在可用于在 Python 中与 OWL 本体进行交互:https ://pypi.org/project/Owlready2/

从项目描述来看,它具有以下功能:

  1. 以 NTriples、RDF/XML 或 OWL/XML 格式导入 OWL 2.0 本体。
  2. 将 OWL 2.0 本体导出为 NTriples 或 RDF/XML。
  3. 透明地操作本体类、实例和属性,就好像它们是普通的 Python 对象一样。
  4. 将 Python 方法添加到本体类。
  5. 使用 HermiT 推理器执行类和实例的自动分类。
  6. 测试了多达 1 亿个 RDF 三元组(但可能支持更多)。
  7. 此外,quadstore 与 RDFlib Pyton 模块兼容,可用于执行 SPARQL 查询。
于 2018-06-12T05:30:21.193 回答
0

我也可以找到这个ordf但似乎他们刚刚为他们写了一些文本,完全不清楚如何使用它,很遗憾!

于 2011-02-25T11:55:42.280 回答