Protege 4.3中的结果不同,导致Eclipse中的jena

时间:2013-08-01 08:00:58

标签: rdf jena owl protege protege4

在Protégé4.3中,我有ObjectProperties的结果(完全符合我的要求)。 但我需要在我的项目中实现它,所以我在Eclipse中使用Jena,结果是不同的。 如何在Jena中使用ObjectProperties获取对象?

门徒新: http://i.stack.imgur.com/oLpCD.png

Eclipse Jena:

------------------------------------------------------------------------------- | 
subject                                | object                     
|
=============================================================================== | vidlica:VidlicaKrytTelo                | _:b0                       
| | vidlica:KolikNulovy_SkrutkaM3          | _:b1                     
| | vidlica:KolikFazovy_SkrutkaM3          | _:b2                     
| | vidlica:Hlava_4Kolik_SkrutkaM3_Nalepka | _:b3                     
| | vidlica:Hlava_4Kolik_SkrutkaM3         | _:b4                     
| | vidlica:Final                          | _:b5                     
| | _:b5                                   | vidlica:Final            
| | _:b4                                   |
vidlica:Hlava_4Kolik_SkrutkaM3         | | _:b2                       
| vidlica:KolikFazovy_SkrutkaM3          | | _:b3                     
| vidlica:Hlava_4Kolik_SkrutkaM3_Nalepka | | _:b1                     
| vidlica:KolikNulovy_SkrutkaM3          | | _:b0                     
| vidlica:VidlicaKrytTelo                | | vidlica:TesnenieGumove   
| vidlica:TesnenieGumove                 | | rdf:List                 
| rdf:List                               | | _:b6                     
| _:b6                                   | | _:b7                     
| _:b7                                   | | owl:Restriction          

1 个答案:

答案 0 :(得分:1)

我没有理由把一些代码写下来作为答案,但很难把它写得清楚易懂。

再一次:我问如何获得这样的jena sparql结果 object + object property + subject(s)[C2-C4]。

结果是(这个样本有3个科目)

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#>
SELECT ?c ?p1 ?C2 ?C3 ?C4
WHERE { 
    ?c rdfs:subClassOf ?r . 
    ?r rdf:type owl:Restriction . 
    ?r owl:onProperty ?p1 . 
    ?r owl:someValuesFrom ?i . 
    ?i rdf:type owl:Class . 
    ?i ?prop ?l . 
    ?l rdf:first ?C2 . 
    ?l rdf:rest ?m . 
    ?m rdf:first ?C3 . 
    ?m rdf:rest ?m2 . 
    ?m2 rdf:first ?C4 . 
    ?m2 rdf:rest rdf:nil .
    }