通过课程推断师生关系?

Infer teacher-student relationships via courses?

我创建了一个关于大学的 ontology,就像 this series of YouTube videos.

中讨论的那样

有 类 个学生、教授和课程实例。有 "studies" 和 "teaches" 属性将学生和教授与其 类 联系起来。

<ObjectPropertyAssertion>
    <ObjectProperty IRI="#teaches"/>
    <NamedIndividual IRI="#Cadbury"/>
    <NamedIndividual IRI="#EL101"/>
</ObjectPropertyAssertion>

<ObjectPropertyAssertion>
    <ObjectProperty IRI="#studies"/>
    <NamedIndividual IRI="#Hechinger"/>
    <NamedIndividual IRI="#EL101"/>
</ObjectPropertyAssertion>

确定 Hechinger 是 Cadbury 的学生是我应该能够在 Protege 中使用 OWL 推理或推理来完成的事情吗?

Is determining that Hechinger is a student of Cadbury something that I should be able to do with OWL reasoning or inference in Protege?

如果你有 isStudentOf 属性,那么你可以定义使这个推理有效的公理。例如,在这种情况下,您想要断言 chain

研究教导-1

sub属性isStudentOf。也就是说,如果学生学习一门课程,然后课程由某位教授教授,那么该学生就是该教授的学生。这是它在 Protege 中的样子:

这是 ontology,您可以将其加载到 Protege 中:

@prefix :      <urn:ex:#> .
@prefix ex:    <urn:ex:#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

ex:isStudentOf  a               owl:ObjectProperty ;
        owl:propertyChainAxiom  ( ex:studies _:b0 ) .

ex:studies  a   owl:ObjectProperty .

_:b0    owl:inverseOf  ex:teaches .

ex:EL101  a     owl:Thing , owl:NamedIndividual .

<urn:ex:>  a    owl:Ontology .

ex:Hechinger  a     owl:Thing , owl:NamedIndividual ;
        ex:studies  ex:EL101 .

ex:teaches  a   owl:ObjectProperty .

ex:Cadbury  a       owl:Thing , owl:NamedIndividual ;
        ex:teaches  ex:EL101 .