本体推理:如何让子类发挥作用?

问题描述 投票:0回答:1

我想创建一个简单的本体。哪里..

@prefix : <http://www.semanticweb.org/VDI3814#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://www.semanticweb.org/VDI3814#> .

:Function rdf:type owl:Class .

:ApplicationFunctions rdf:type owl:Class ;
                      rdfs:subClassOf :Function .

:ClosedLoopControl rdf:type owl:Class ;
                   rdfs:subClassOf :ApplicationFunctions .

:PIDControls rdf:type owl:Class ;
             rdfs:subClassOf :ClosedLoopControl .

现在我用 python 包进行合理的推理。 根据我的理解,最后 PIDControls 应该是 rdf:type Function。因为它是 :Function 的子类的子类的子类。 但事实并非如此!有人能给我解释一下吗?

谢谢!

ontology
1个回答
0
投票

subClassOf 是传递性的;在下图中,您可以看到 :PIDControls 被正确识别为

rdfs:subClassOf
:Function
,尽管三元组从未存在(因此,它是通过传递属性正确推断出来的)。

您的要求略有不同。

© www.soinside.com 2019 - 2024. All rights reserved.