2012-04-20 18 views
8

का उपयोग Wine ontology, मैं SPARQL क्वेरी बनाना चाहते हैं तो मैं प्राप्त कर सकते हैं पुनः प्राप्त करने के सभी मदिरा और उनके गुणों नीचे दी गई तालिका की तरह - विचार है कि मैं गुण के नाम पता नहीं है एक प्राथमिकSPARQL क्वेरी सभी वस्तुओं और संपत्तियों

vin     | rdf:type  | vin:hasMaker  | vin:hasSugar | ... 
========================================================================== ... 
GaryFarrellMerlot | vin:Merlot | vin:Elyse   | vin:Dry  | ... 
-------------------------------------------------------------------------- 
ElyseZinfandel  | vin:Elyse | vin:GaryFarrell | vin:Dry  | ... 
... 

क्या कोई मुझे संकेत दे सकता है?

- संपादित

यह प्रारूप मैंने कहा में क्वेरी परिणाम के लिए संभव नहीं है, लेकिन मैं इसे इस तरह से हो सकता है:

vin    | property  | value 
================================================= 
GaryFarrellMerlot | rdf:type  | vin:Merlot 
------------------------------------------------- 
GaryFarrellMerlot | rdf:hasMaker | vin:Elyse 
------------------------------------------------- 
... 

इस का चयन करें (धन्यवाद cygri) के साथ :

SELECT DISTINCT ?wine ?property ?value 
WHERE { 
     ?o1 a ?class . 
     ?wine a ?o1 . 
     ?wine ?property ?value . 
} 

यह वाइन के प्रकार के बजाय वाइन (-> GaryFarrellMerlot Merlot) ले जाएगा। एकमात्र समस्या यह शराब लेती है लेकिन वाइनरी, क्षेत्र, फ्लेवर्स इत्यादि भी लेती है और मैं केवल वाइन और इसकी संपत्ति चाहता था। इसके अलावा, कोई ऐसी विशेषता vin: Merlot rdfs: subClassOf vin: Wine। कोई संकेत?

उत्तर

11

आप नहीं कर सकते। आपको पहले से जानना होगा कि आप अपने क्वेरी परिणाम में कौन से कॉलम चाहते हैं।

मदिरा के सभी गुण लिस्टिंग निश्चित रूप से बहुत मुश्किल नहीं है:

SELECT DISTINCT ?property 
WHERE { 
    ?wine a vin:Wine . 
    ?wine ?property ?value . 
} 

तो फिर तुम कुछ कोड है कि परिणाम की सूची से अंतिम SPARQL क्वेरी बनाता है लिखने के लिए की जरूरत है।

+0

धन्यवाद साइग्री! क्या आपके ऊपर उपरोक्त मेरे संपादन का कोई संकेत है? – ksiomelo

+3

खैर, वाइन ऑटोलॉजी एक साधारण आरडीएफ मॉडल नहीं है बल्कि जटिल ओडब्लूएल ऑटोलॉजी है। तो अधिक जटिल चीजें करने के लिए, जैसे कि मर्लोट शराब का उप-वर्ग है, आपको एक ओडब्लूएल तर्ककर्ता (या शायद एक ट्रिपल स्टोर जो ओडब्लूएल का समर्थन करता है) की आवश्यकता है। – cygri