2012-02-14 14 views
6

क्या एक चर और एक शाब्दिक संयोजन के द्वारा बनाई गई SPARQL ट्रिपल में कोई विषय बनाना संभव है?SPARQL: अक्षर के साथ चर का संयोजन

मेरे मामले यह है:

OPTIONAL 
{ 
    $object dc:identifier $identifier . 
    <info:fedora/abc:123/MODS> fedora-view:disseminationType $mods . 
    <info:fedora/abc:123/TN> fedora-view:disseminationType $tn 
} 

$ वस्तु इस तरह दिखता है: <info:fedora/abc:123> $ पहचानकर्ता इस तरह दिखता है: <info:fedora/abc:123/MODS>

मैं <info:fedora/$identifier/MODS> का उपयोग नहीं कर सकते हैं: abc:123 और मैं क्या जरूरत है लेकिन क्या 'गोंद' चर और साहित्य के साथ एक और तरीका है?

उत्तर

6

SPARQL 1.1 के साथ, आप जो चाहते हैं उसे करने के लिए BIND(), STR(), IRI(), और CONCAT() के संयोजन का उपयोग करने में सक्षम होना चाहिए। कुछ ऐसा:

SELECT * WHERE { 
    $object dc:identifier $identifier . 
    BIND(IRI(CONCAT(STR($object), "/MODS")) AS $new) 
    $new fedora-view:disseminationType $mods . 
    $new fedora-view:disseminationType $tn . 
} 
+0

धन्यवाद! शायद यह समाधान है। मैं मुल्गार के साथ SPARQL का उपयोग कर रहा हूं और ऐसा लगता है कि सभी SPARQL कार्यक्षमता जैसे CONCAT अभी तक समर्थित नहीं है (या मैं पुराने संस्करण का उपयोग कर रहा हूं)। मैं इस पर गौर करूंगा। –

+0

मेरे लिए काम किया। मुझे आईआरआई की आवश्यकता नहीं थी, इसलिए यह काफी अच्छा था: BIND (CONCAT (STR (? Var1), एसटीआर (? Var2)) AS $ concatenated) – Justas

संबंधित मुद्दे