Sparql 不成功的团队雇佣球员财产链

Sparql 不成功的团队雇佣球员财产链,sparql,rdf,owl,protege,Sparql,Rdf,Owl,Protege,我对它很感兴趣 公认的答案有两种解决方案:两个OWL表达式或SWRL规则。我感觉OP发现所有OWL(属性链)解决方案令人困惑,但对SWRL的答案感到满意 我正在尝试实现全OWL解决方案。到目前为止,我还没有看到史蒂文·杰拉德在与佩莱进行推理时被英格兰雇佣的推论 我确实明白这个推论 Steven_Gerrard R_NationalPlayer Steven_Gerrard 这是错误吗? 我应该使用不同的推理机吗?OP从事实+中得到一个错误 我用一些替换值是否违反了推理? 回答者提出了一个

我对它很感兴趣

公认的答案有两种解决方案:两个OWL表达式或SWRL规则。我感觉OP发现所有OWL(属性链)解决方案令人困惑,但对SWRL的答案感到满意

我正在尝试实现全OWL解决方案。到目前为止,我还没有看到史蒂文·杰拉德在与佩莱进行推理时被英格兰雇佣的推论

我确实明白这个推论

Steven_Gerrard R_NationalPlayer Steven_Gerrard 
这是错误吗?

  • 我应该使用不同的推理机吗?OP从事实+中得到一个错误

  • 我用
    一些
    替换
    是否违反了推理?

回答者提出了一个普遍的阶级公理

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
                      ]
] .
@前缀:。
@前缀owl:。
@前缀rdf:。
@前缀rdfs:。
rdf:type owl:Ontology。
rdf:type owl:ObjectProperty。
rdf:type owl:ObjectProperty;
rdfs:owl的subpertyof:topObjectProperty;
owl:propertyChainAxiom([owl:inverseOf
]
) .
rdf:type owl:ObjectProperty。
rdf:type owl:ObjectProperty。
rdf:type-owl:Class;
owl:equalentClass[rdf:type owl:Restriction;
owl:onProperty;
猫头鹰:一些来自
] .
rdf:type owl:Class。
rdf:type owl:Class。
rdf:type-owl:Class;
owl:equalentClass[rdf:type owl:Restriction;
owl:onProperty;
猫头鹰:一些来自
] ,
[rdf:类型owl:限制;
owl:onProperty;
猫头鹰:一些来自
] .
rdf:type owl:NamedIndividual,
,
.
rdf:type owl:NamedIndividual,
.
rdf:type owl:NamedIndividual,
;
;
.
[rdf:类型owl:限制;
owl:onProperty;
owl:someValuesFrom[rdf:type-owl:Class;
猫头鹰(
)
] ;
owl:equalentClass[rdf:type owl:Restriction;
owl:onProperty;
owl:hasSelf“true”^^xsd:boolean
]
] .

Ugh。Pellet可以从我的问题中包含的本体中进行所需的推理

我在看史蒂文的个人
页面。我应该一直在看英格兰的
个人
页面


如果R_国家队球员应该是a,那么
史蒂文·杰拉德R_国家队球员史蒂文·杰拉德
是正确的。
R_NationalPlayer
的要点是,它将每个国家球员与自己联系起来,对吗?所以史蒂文·杰拉德应该和史蒂文·杰拉德有亲戚关系。我很困惑。推断出的公理非常明显:a1=
:Steven\u Gerrard:hasNationalStatus:National\u Player>
,然后是类等价公理,左侧正好匹配a1。正如约苏华所说,右手边准确地表达了:
:史蒂文·杰拉德
通过属性
:R\u NationalPlayer
与希姆莱夫相连,这是理解推论的一个非常有用的工具,我可以高度建议使用Protege的伟大解释功能(点击推断出的公理旁边的问号):D对,当属性不是对称的时,方向总是很重要的。