courses
私は、クラスであるさまざまなクラスを持つ単純なオントロジーを持っていlessons
ます。belongsTo
プロパティを の個人に関連付ける SWRL ルールを実行しようとしていますlessons
。OWLReady2と Pythonを使用しています
with onto:
#courses
class course_id (onto.courses >> int): pass
class course_title (onto.courses >> str): pass
#lessons
class lesson_id (onto.lessons >> int): pass
class lesson_title (onto.lessons >> str): pass
class course_id (onto.lessons >> int): pass
class belongTo(onto.lessons >> onto.courses): pass
rule = Imp()
rule.set_as_rule("""lessons(?l), courses(?c), course_id(?c, ?cid), course_id(?l, ?cid) -> belongTo(?l, ?c) """)
sync_reasoner_pellet(infer_property_values = True, infer_data_property_values = True)
アイデアは、それらcourse_id
が類似している場合、レッスンはコースに属している必要があるということです。しかし、私のコードは機能していないようです。私はこれらの推論を得ています:
* Owlready * Adding relation lmsontology.Introduction belongTo lmsontology.Introduction
* Owlready * Adding relation lmsontology.Databases belongTo lmsontology.Databases