जेना में, Resource
खुद वस्तुओं से नहीं में मॉडल हैं। मॉडल में केवल ट्रिपल - Statement
ऑब्जेक्ट्स जिनमें विषय, अनुमान और वस्तु (आमतौर पर संक्षिप्त एसपीओ) शामिल है। एस, पी या ओ में से कोई एक संसाधन हो सकता है (यह देखते हुए कि Property
जेना में और आरडीएफ मानक में Resource
का उप-प्रकार है)। तो अगर आप अपने प्रश्न को परिष्कृत करने से करने के लिए "इस मॉडल इस संसाधन को शामिल करता है" की जरूरत है या तो:
करता मॉडल एम एक विषय के रूप संसाधन आर शामिल?
क्या मॉडल एम में किसी विषय, पूर्वानुमान या वस्तु के रूप में संसाधन आर होता है?
Resource r = ... ;
Model m = ... ;
// does m contain r as a subject?
if (m.contains(r, null, (RDFNode) null)) {
..
}
// does m contain r as s, p or o?
if (m.containsResource(r)) {
..
}
संयोग से, अपने कोड नमूने में आप
model.getResource("example")
यह एक Resource
वस्तु दिया यूआरआई के लिए इसी दिखाए, लेकिन पक्ष नहीं है:
इस रूप में प्राप्त किया जा सकता मॉडल में ट्रिपल को प्रभावित करें। यही कारण है कि Model
में getResource
और createResource
दोनों हैं - यह संभवतः थोड़ा अधिक कुशल है क्योंकि यह संसाधन वस्तुओं का पुन: उपयोग करता है, लेकिन अर्थशास्त्र अनिवार्य रूप से समान हैं। हालांकि, getResource
या createResource
पर आपके द्वारा पारित तर्क एक यूआरआई होना चाहिए। यदि आप पूर्ण यूआरआई के स्थान पर "example"
जैसे टोकन का उपयोग करना शुरू करते हैं, तो आप भविष्य से परेशानी उधार ले रहे हैं, इसलिए मैं इससे पहले कि आप इससे सहज महसूस कर सकें, इस बुरी आदत को रोकने की सलाह दूंगा!
स्रोत
2013-03-14 10:12:24
शायद यह लिंक [इंटरफ़ेस मॉडल] (http://jena.apache.org/documentation/javadoc/jena/com/hp/hpl/jena/rdf/model/Model.html) उपयोगी है। –
थोड़ा सा शोध करने के बाद मुझे अगली रास्ता मिल गई है। मुझे नहीं पता कि यह वास्तव में इसे प्राप्त करने का सबसे अच्छा तरीका है, लेकिन काम करता है: संसाधन से संसाधन = संसाधन Factory.createResource ("उदाहरण"); अगर (! Model.containsResource (toSearch)) ...; – jevora
यदि इसे हल किया गया है तो एक उत्तर पोस्ट करें और इसे स्वीकार करें, इसलिए एक ही मुद्दे वाले अगले व्यक्ति को जवाब मिल जाएगा, आपको बैज भी मिल जाएगा! :) – Boaz