首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Owlready2动态类生成

Owlready2动态类生成
EN

Stack Overflow用户
提问于 2018-11-20 16:41:30
回答 1查看 947关注 0票数 2

我试图动态地为owlready2本体创建一个类。这些文档建议使用以下代码行:

代码语言:javascript
复制
NewClass = types.new_class("NewClassName", (SuperClass,), kwds = { "namespace" : my_ontology })

在我的例子中,这等于

代码语言:javascript
复制
types.new_class("NewClassName", (onto["ParentClass"],), kwds={'namespace' : onto})

但是,当我运行上述代码时,会得到以下异常:

代码语言:javascript
复制
 Traceback (most recent call last):
    (onto[object.get('owl_dataProperty_parent')],), kwds={'namespace' : onto})
    File "/usr/lib/python3.6/types.py", line 62, in new_class
    return meta(name, bases, ns, **kwds)
 TypeError: __new__() got an unexpected keyword argument 'namespace

我不知道哪里出了问题,经过几个小时的调试,我仍然毫无头绪。我正在使用Python3.6.6和owlready2的0.11版本

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-21 13:49:58

我发现根本不需要“命名空间”属性。因此,下面的工作非常好:

代码语言:javascript
复制
types.new_class("NewClassName", (onto["ParentClass"],))

虽然这不能解决整个问题,但它回答了我的问题。

此外,这样的接缝通常是这样做的,参考自己人论坛。因此,也许是时候更新文档了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53397615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档