如何使用owlready2读取有关本体的信息

问题描述

我在flask应用程序中工作,想加载本体并打印该本体中有多少类和多少个人

这是我的代码,它不起作用

import flask
from owlready2 import *

app = flask.Flask(__name__)
app.config["DEBUG"] = True


@app.route('/',methods=['GET'])
def start():
    onto_path.append("pizza.owl")
    onto = get_ontology("pizza.owl")
    onto.load()
    print(onto.classes())
    print(list(onto.individuals()))

    html = ''
    html += '<h2>clases: ' + onto.classes() + '</br>'
    html += '<h3>individuals: ' + onto.individuals()    

    return html

    #return "<h1>distant Reading Archive</h1><p>This site is a prototype API for distant reading of science fiction novels.</p>"

app.run()

解决方法

方法classes()individuals()返回一个生成器,因此您应该将生成器转换为列表,并要求该对象的长度。

n_classes = len(list(onto.classes()))
n_individuals = len(list(onto.individuals()))

在那之后,您应该在变量上有数字,然后可以将它们与HTML连接起来。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...