在Protégé4.3中,我有ObjectProperties的结果(完全符合我的要求)。 但我需要在我的项目中实现它,所以我在Eclipse中使用Jena,结果是不同的。 如何在Jena中使用ObjectProperties获取对象?
门徒新:
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
答案 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 .
}