Saturday 15 September 2012

java - extracting indivdiual bibo:Articles from RDF document -


मेरे पास इस प्रारूप के साथ एक RDF / XML दस्तावेज़ है:

  & lt;? Xml संस्करण = "1.0" एन्कोडिंग = "UTF-8"? & Gt; & Lt; rdf: RDF xmlns: एग्स = "http://purl.org/agmes/1.1/" xmlns: foaf = "http://xmlns.com/foaf/0.1/" xmlns: rdf = "http: // Www.w3.org/1999/02/22-rdf-syntax-ns# "xmlns: rdfs =" http://www.w3.org/2000/01/rdf-schema# "xmlns: bibo =" http: //purl.org/ontology/bibo/ "xmlns: dct =" http://purl.org/dc/terms/ "& gt; & Lt; bibo: अनुच्छेद rdf: about = "http: // xxxxx / NO8500391" & gt; & LT; डीसीटी: पहचानकर्ता & gt; NO8500391 & lt; / डीसीटी: पहचानकर्ता & gt; ... & lt; / bibo: लेख & gt; & Lt; bibo: अनुच्छेद rdf: about = "http: // xxxxx / NO8500523" & gt; ... & lt; / bibo: लेख & gt; & Lt; bibo: अनुच्छेद rdf: about = "http: // xxxxx / NO8500496" & gt; ... & lt; / bibo: लेख & gt; & Lt; / rdf: RDF & gt;   

जैसा कि आप देख सकते हैं, एक आरडीएफ / एक्सएमएल फ़ाइल में, कई bibo: article s, हजारों हो सकते हैं मैं क्या चाहता हूं कि प्रत्येक लेख को निकालना और उसे एडीपी / जेएसओएन (मुझे पता है कि कैसे एक मॉडल लिखना है) अपाचे जेना का उपयोग करना है, इसलिए प्रत्येक आलेख के लिए मेरे पास एक अलग दस्तावेज हो सकता है, और बाद में इन सबको इंडेक्स जैसे सीचडीबी या खोजों को करने के लिए लोचदार खोज।

मैं मॉडल (जेना) में प्रत्येक आलेख कैसे निकाल सकता हूं? गंदे तरीके से मैं सोच रहा था कि फाइल को XML के रूप में संसाधित करना और प्रत्येक bibo: article तत्व को निकालने।

सबसे पहले क्या मैं आपके प्रश्न पर कुछ स्पष्टीकरण मांग सकता हूँ? मुझे लगता है कि आप क्या पूछ रहे हैं, प्रत्येक bibo: Article को अपने दस्तावेज़ में प्रवेश करने के लिए विभाजित करना है?

एक अलग नोट के रूप में यह नहीं है प्रत्येक प्रथम स्तर के नोड को विभाजित करने के समान ही, क्योंकि आरडीएफ / एक्सएमएल एक कैनोनिकल सीरियलाइजेशन नहीं है, अर्थात आरडीएफ को कई अलग-अलग आरडीएफ / एक्सएमएल दस्तावेजों द्वारा सीरियल किया जा सकता है और इसमें कोई गारंटी नहीं है कि वे हमेशा प्रथम स्तर के नोड होंगे। < P> अब अपने प्रश्न का प्रयास करने के लिए, अपने लक्ष्य को हासिल करने के दो मुख्य तरीके हैं।

SPARQL क्वेरीज़ का उपयोग

सबसे पहले एक SELECT query को सभी आलेखों को पुनः प्राप्त करें, फिर प्रत्येक परिणाम के लिए लेख यूआरआई पर एक DESCRIBE क्वेरी डालें जो आपको एक नया जेना मॉडल देगा जिसमें केवल उस यूआरआई के बारे में जानकारी होगी।

ध्यान दें कि आप कर सकते हैं यदि आप चाहें तो एक कस्टम DescribeHandler बनाकर बिल्कुल कैसे DESCRIBE प्रश्न बदल सकते हैं, लेकिन यह ओवरकिल हो सकता है।

फिर आप प्रत्येक <कोड के परिणामों को सीरियल कर सकते हैं > वर्णन एक नया दस्तावेज़ के लिए प्रश्न पूछें।

मॉडल एपीआई का प्रयोग

listStatements () विधि (अधिभार जो खोज मापदंड लेता है) का उपयोग करें लेख, तो पहले समाधान मुद्दे के समान, इसके बारे में बयानों को खोजने के लिए प्रत्येक खोजा आलेख यूआरआई के लिए आगे कॉल करता है इन्हें एक नए मॉडल में जोड़ा जा सकता है और वांछित के रूप में क्रमबद्ध किया जा सकता है।

No comments:

Post a Comment