通过课程推断师生关系?

时间:2015-07-23 17:27:47

标签: rdf sparql owl protege

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

中讨论的那样

有学生,教授和课程的课程和实例。有"研究"和#34;教导"将学生和教授与他们的班级联系起来的属性。

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

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

确定Hechinger是Cadbury的学生,我应该能够使用OWL推理或推断Protege吗?

1 个答案:

答案 0 :(得分:3)

  

确定Hechinger是Cadbury的学生,我应该能够使用OWL推理或推断Protege吗?

如果您有 isStudentOf 属性,则可以定义使此推理起作用的公理。例如,在这种情况下,您需要声明

研究教授 -1

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

subproperty chain axiom

inference

这是本体,你可以加载到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 .