不成功的 team-employs-player 属性 链

Unsuccessful team-employs-player property chain

我对 Using Property Chains to get inferred Knowledge in an OWL Ontology(Protege)

很感兴趣

接受的答案有两个解决方案:两个 OWL 表达式, 一个 SWRL 规则。我觉得 OP 发现全 OWL(属性 链)解决方案令人困惑,但对 SWRL 答案感到满意。

我正在尝试实施全 OWL 解决方案。到目前为止,在与 Pellet.

进行推理时,我没有看到英格兰使用 Steven_Gerrard 的推论

我确实看到了推论

Steven_Gerrard R_NationalPlayer Steven_Gerrard 

这是一个错误吗?

回答者提出了

的一般Class公理
hasNationalStatus value National_Player EquivalentTo R_NationalPlayer some Self

但是 Protege 对我使用 vlaue 表示不满。它确实接受以下内容:

hasNationalStatus some ({National_Player}) EquivalentTo R_NationalPlayer some  Self 

我的实现:

@prefix : <http://example.com/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<http://example.com/playerEmployment.owl> rdf:type owl:Ontology .

<http://example.com/R_NationalPlayer> rdf:type owl:ObjectProperty .

<http://example.com/employs> rdf:type owl:ObjectProperty ;
                           rdfs:subPropertyOf owl:topObjectProperty ;
                           owl:propertyChainAxiom ( [ owl:inverseOf <http://example.com/hasNationality>
                                                    ]
                                                    <http://example.com/R_NationalPlayer>
                                                  ) .

<http://example.com/hasNationalStatus> rdf:type owl:ObjectProperty .

<http://example.com/hasNationality> rdf:type owl:ObjectProperty .

<http://example.com/Club> rdf:type owl:Class ;
                        owl:equivalentClass [ rdf:type owl:Restriction ;
                                              owl:onProperty <http://example.com/employs> ;
                                              owl:someValuesFrom <http://example.com/Player>
                                            ] .

<http://example.com/NationalStatus> rdf:type owl:Class .

<http://example.com/Nationality> rdf:type owl:Class .

<http://example.com/Player> rdf:type owl:Class ;
                          owl:equivalentClass [ rdf:type owl:Restriction ;
                                                owl:onProperty <http://example.com/hasNationalStatus> ;
                                                owl:someValuesFrom <http://example.com/NationalStatus>
                                              ] ,
                                              [ rdf:type owl:Restriction ;
                                                owl:onProperty <http://example.com/hasNationality> ;
                                                owl:someValuesFrom <http://example.com/Nationality>
                                              ] .

<http://example.com/England> rdf:type owl:NamedIndividual ,
                                    <http://example.com/Club> ,
                                    <http://example.com/Nationality> .

<http://example.com/National_Player> rdf:type owl:NamedIndividual ,
                                            <http://example.com/NationalStatus> .

<http://example.com/Steven_Gerrard> rdf:type owl:NamedIndividual ,
                                           <http://example.com/Player> ;
                                  <http://example.com/hasNationalStatus> <http://example.com/National_Player> ;
                                  <http://example.com/hasNationality> <http://example.com/England> .

[ rdf:type owl:Restriction ;
  owl:onProperty <http://example.com/hasNationalStatus> ;
  owl:someValuesFrom [ rdf:type owl:Class ;
                       owl:oneOf ( <http://example.com/National_Player>
                                 )
                     ] ;
  owl:equivalentClass [ rdf:type owl:Restriction ;
                        owl:onProperty <http://example.com/R_NationalPlayer> ;
                        owl:hasSelf "true"^^xsd:boolean
                      ]
] .

。 Pellet 可以 从我的问题中包含的 ontology 做出所需的推论。

我正在查看 Steven 的 Individual 页面。我应该一直在看 England 的 individual 页面。