मेरे पास एक स्पार्कल क्वेरी है जो डुप्लीकेट देता है, और मैं इसे केवल मूल्यों (विषय आईडी) में से एक पर साफ़ करना चाहता हूं। DISTINCT के विपरीत जो पैरामीटर में से केवल एक के बजाय चुने गए मानों के संयोजन के लिए एक अद्वितीय मान पाता है। मैंने किसी को यहां समूह का प्रस्ताव दिया है, लेकिन यह केवल तब लागू होता है जब मैं समूह के बाद सभी पैरामीटर सूचीबद्ध करता हूं (मेरा स्पार्कल एंडपॉइंट शिकायत करता है, उदाहरण के लिए चयन में गैर-समूह कुंजी चर:? व्यवसाय)। मैंने एक आंतरिक चयन चलाने की कोशिश की, लेकिन यह इस विशिष्ट क्वेरी के लिए काम नहीं कर रहा है। तो सवाल स्वयं के साथ एक मुद्दा हो सकता है (liveInIn वैकल्पिक के मान डुप्लिकेट होने लगते हैं)?स्पैर्कल कुंजी बनाम अलग-अलग मान
SPARQL के साथ सीखने की अवस्था में प्रारंभिक डीबी के साथ पर्याप्त खुश होने के बावजूद, अन्यथा अनियमित के लिए स्पष्ट व्याख्या करने के लिए स्वतंत्र महसूस करें! :)
select distinct
?subjectID ?englishName ?sex ?locatedIn15Name
?dob ?dod ?dom ?bornLocationName ?occupation
where {
?person a hc:Person ;
hc:englishName ?englishName ;
hc:sex ?sex;
hc:subjectID ?subjectID;
optional { ?person hc:livedIn11 ?livedIn11 .
?livedIn11 hc:englishName ?lived11LocationName .
?livedIn11 hc:locatedIn11 ?locatedIn11 .
?locatedIn11 hc:englishName ?locatedIn11Name .
?locatedIn11 hc:locatedIn15 ?locatedIn15 .
?locatedIn15 hc:englishName ?locatedIn15Name .
} .
optional {?person hc:born ?dob } .
optional {?person hc:dateOfDeath ?dod } .
optional {?person hc:dateOfMarriage ?dom } .
optional { ?person hc:bornIn ?bornIn .
?bornIn hc:englishName ?bornLocationName .
?bornIn hc:easting ?easting .
?bornIn hc:northing ?northing } .
optional { ?person hc:occupation ?occupation }
FILTER regex(?englishName, "^FirstName LastName")
}
GROUP BY
?subjectID ?englishName ?sex
?locatedIn15Name ?dob ?dod ?dom
?bornLocationName ?occupation
+1 (IMHO) के लिए सैंपल का बहुत ही अपरंपरागत उपयोग। –
धन्यवाद रॉब, यह वास्तव में आसान है! मैं अनुमान लगा रहा हूं कि कुछ हद तक गैर-निर्धारक नमूनाकरण है, इसलिए सावधानी के साथ उपयोग किया जा सकता है? :) – Nava
पीएस एक और अधिक प्रतिष्ठा अर्जित करने के बाद ऊपर उठ जाएगा। – Nava