इस तरह देखते हुए डेटा (में RDF/XML):
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:pizzas="http://example.org/pizzas#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<owl:Ontology rdf:about="http://example.org/pizzas"/>
<owl:Class rdf:about="http://example.org/pizzas#Pizza"/>
<owl:Class rdf:about="http://example.org/pizzas#Human"/>
<owl:ObjectProperty rdf:about="http://example.org/pizzas#hasPizza">
<rdfs:domain rdf:resource="http://example.org/pizzas#Human"/>
<rdfs:range rdf:resource="http://example.org/pizzas#Pizza"/>
</owl:ObjectProperty>
<owl:NamedIndividual rdf:about="http://example.org/pizzas#Jim">
<rdf:type rdf:resource="http://example.org/pizzas#Human"/>
<pizzas:hasPizza>
<owl:NamedIndividual rdf:about="http://example.org/pizzas#CheesePizza">
<rdf:type rdf:resource="http://example.org/pizzas#Pizza"/>
</owl:NamedIndividual>
</pizzas:hasPizza>
</owl:NamedIndividual>
</rdf:RDF>
या एक ही, अधिक पठनीय कछुए में:
@prefix : <http://example.org/pizzas#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix pizzas: <http://example.org/pizzas#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
pizzas:Jim
a pizzas:Human , owl:NamedIndividual ;
pizzas:hasPizza pizzas:CheesePizza .
pizzas:hasPizza
a owl:ObjectProperty ;
rdfs:domain pizzas:Human ;
rdfs:range pizzas:Pizza .
pizzas:Human
a owl:Class .
pizzas:Pizza
a owl:Class .
<http://example.org/pizzas>
a owl:Ontology .
pizzas:CheesePizza
a pizzas:Pizza , owl:NamedIndividual .
सूचना है कि अभिकथन Jim hasPizza CheesePizza
में एक ट्रिपल है लेखाचित्र। hasPizza
ऑब्जेक्ट प्रॉपर्टी के लिए डोमेन और रेंज एक्सिओम्स दो ट्रिपल हैं: hasPizza rdfs:domain Human
और hasPizza rdfs:range Pizza
। SPARQL क्वेरी ग्राफ़ में ट्रिपल के खिलाफ क्वेरी पैटर्न से मेल खाते हैं। इस प्रकार, की तरह एक प्रश्न से:
prefix : <http://example.org/pizzas#>
select ?x ?y where {
?x :hasPizza ?y
}
आप क्योंकि एक ग्राफ जिसका विधेय :hasPizza
है में ट्रिपल है वहाँ, और कहा कि ट्रिपल एक :Jim
विषय के रूप में है मिल जाएगा परिणाम इस तरह के
रूप
$ arq --data pizzas.ttl --query query.sparql
-----------------------
| x | y |
=======================
| :Jim | :CheesePizza |
-----------------------
, और ऑब्जेक्ट के रूप में :CheesePizza
। ऐसा लगता है कि आप वास्तव में :hasPizza
संपत्ति के डोमेन और सीमा के लिए पूछ रहे हैं, जो पुनर्प्राप्त करना भी आसान है। इस तरह एक प्रश्न का उपयोग करें:
prefix : <http://example.org/pizzas#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?domain ?range where {
:hasPizza rdfs:domain ?domain ;
rdfs:range ?range .
}
और आप इस तरह के परिणाम प्राप्त करेंगे:
$ arq --data pizzas.ttl --query query.sparql
-------------------
| domain | range |
===================
| :Human | :Pizza |
-------------------
स्रोत
2013-08-27 13:20:05
आप पोस्ट कर सकते हैं अपने सत्तामीमांसा की RDF संस्करण? कक्षाएं सीधे ओडब्लूएल में गुणों से जुड़ी नहीं होती हैं, यह आमतौर पर अस्तित्व प्रतिबंध प्रतिबंध के माध्यम से की जाती है। तो अपने ऑटोलॉजी के आरडीएफ संस्करण को खोलें और निर्माण देखें; फिर आप इसे अपने SPARQL क्वेरी से मिलान करने का प्रयास कर सकते हैं। – loopasam
यह अधिक संभावना है कि आपके पास ऑब्जेक्ट प्रॉपर्टी 'हैस्पिज्ज' है, _rdfs: domain_ और _rdfs: range_ क्रमशः 'मानव' और 'पिज्जा' हैं। हालांकि, यह खोजना अपेक्षाकृत आसान है, लेकिन यह एक अलग कार्य है। –