RDF моделінің синтаксисі

Кіріспе 3
Негізгі бөлім 6
1. Теориялық бөлімі 6
1.1 Әлсізқұрылымдалған деректер 6
1.2 Онтологиялар 7
1.3 RDF моделі 10
1.4 Hadoop.MapReduce технологиясы 14
1.5 Кодтау сөздігі 17
2. Тәжірибелік бөлім 20
2.1 Онтология құру 20
2.2 RDF моделін құру 22
2.3 Hadoop орнату және баптау 24
2.4 Кодтау сөздігінің тізбектелген алгоритмін жасау 29
2.5 Кодтау сөздігі параллелді сығу алгоритмін жасау 32
2.6 Кодтау сөздігі параллелді қалпына келтіру алгоритмін жасау 37
Қорытынды 41
Қолданылған әдебиеттер тізімі 42
А қосымшасы
Б қосымшасы
В қосымшасы
Г қосымшасы
Қазіргі Web-тің күрделірек мәселелері туындады: Web-технологиялар әйгілілігі мен арзандығынан туындаған ақпараттық толу мөлшерінің өсуіжәне желідегі ақпараттың көрсетілімінің форматы бағдарламалық агенттерге ыңғайсыз болуы. Web-кеңістікте қажетті ақпаратты іздеу қиындай түсті. Сондықтан Internet кейінгі дамуын көптеген ғалымдар Семантикалық Web (Semantic Web) концепциясымен байланыстырады. Бұл концепция бойынша ақпарат көлемі ықшамдалуы тиіс, ал компьютерлер ақпараттарды «түсінуі қажет».Семантикалық Веб RDF ресурс сипаттау ортасы моделі көмегімен жасалған облыстардың кең диапазонында ақпараттарды сипаттайтын көптеген миллиардтаған пайымдауларға ие, бұл облыстар диапазоны медико-биологиялық ақпараттан мемлекеттік ақпаратқа дейін болады.
Кітаптар және монографиялар:
1. Чак “Hadoopв действии” – ", 2002 ж.(қаралған күні 10.02.15)
2. Картузов А.В. “Программирование на языке JAVA”-6. (қаралған күні 5.03.15)

Мақалалар және периодты емес басылымдар тізімі:
3. Berners-Lee T, Hendler J, Lassila O. The semantic web. Scientific American May 2001; 284(5):34–43.(қаралған күні 1.04.15)
4. Dean J, Ghemawat S. Mapreduce: simplified data processing on large clusters. In Proceedings of the USENIX Symposium on Operating Systems Design & Implementation (OSDI), 2004; 137–147.(қаралған күні 1.04.15)
5. Urbani J, Kotoulas S, Oren E, van Harmelen F. Scalable distributed reasoning using mapreduce. In Proceedings of the ISWC’09, 2009.(қаралған күні 1.04.15)
6. Urbani J, Kotoulas S, Maassen J, van Harmelen F, Bal H. OWL Reasoning with WebPIE: Calculating the Closure of 100 Billion Triples. In ESWC (1), 2010; 213–227. http://dx.doi.org/10.1007/978-3-642-13486-9_15. Currently under submission.(қаралған күні 1.04.15)
7. Abadi D, Marcus A, Madden S, Hollenbach K. Scalable semantic web data management using vertical partitioning. In Proceedings of the 33rd International Conference on Very Large Data Bases, ACM 2007. VLDB Endowment: University of Vienna, Austria, September 23-27, 2007; 411–422. ISBN 978-1-59593-649-3.(қаралған күні 1.04.15)
8. Weiss C, Karras P, Bernstein A. Hexastore: sextuple indexing for semantic web data management. Proceedings of the VLDB Endowment Archive 2008; 1(1):1008–1019.(қаралған күні 1.04.15)
9. Broekstra J, Kampman A, Van Harmelen F. Spinning the Semantic Web: Bringing the World Wide Web to Its Full Potential [outcome of a Dagstuhl seminar]. In Spinning the Semantic Web, Fensel D, Hendler JA, Lieberman H, Wahlster W (eds). MIT Press, 2003; 197. 0-262-06232-1. DBLP,(қаралған күні 1.04.15)
        
        Мазмұны
Кіріспе 3
Негізгі бөлім 6
1. Теориялық бөлімі 6
1.1 Әлсізқұрылымдалған деректер 6
1.2 Онтологиялар 7
1.3 RDF моделі 10
1.4 Hadoop-MapReduce технологиясы 14
1.5 Кодтау сөздігі 17
2. Тәжірибелік бөлім 20
2.1 Онтология құру 20
2.2 RDF моделін ... Hadoop ... және ... ... сөздігінің тізбектелген алгоритмін жасау 29
2.5 Кодтау сөздігі параллелді сығу алгоритмін жасау 32
2.6 Кодтау сөздігі параллелді қалпына ... ... ... ... ... қосымшасы
Б қосымшасы
В қосымшасы
Г қосымшасы
* Кіріспе
Өзектілігі
Қазіргі Web-тің күрделірек мәселелері туындады: Web-технологиялар әйгілілігі мен арзандығынан туындаған ақпараттық толу мөлшерінің өсуі және ... ... ... ... ... ... ыңғайсыз болуы. Web-кеңістікте қажетті ақпаратты іздеу қиындай түсті. ... Internet ... ... ... ... ... Web (Semantic Web) концепциясымен байланыстырады. Бұл концепция бойынша ақпарат көлемі ықшамдалуы тиіс, ал компьютерлер ақпараттарды . Семантикалық Веб RDF ... ... ... ... ... ... облыстардың кең диапазонында ақпараттарды сипаттайтын көптеген миллиардтаған пайымдауларға ие, бұл облыстар ... ... ... мемлекеттік ақпаратқа дейін болады. Бірмәнділікті қамтамасыз ету үшін, URI ұғым ... жиі ... ... URI ұзын ... құралатындықтан, Semantic Web қосымшалардың көбісі, мысалы, RDF сақтау ... ... ... және ... ... үшін пайымдауларды компактілеу көрсетілімдерімен алмастырады. Деректердің осы ... ... ең ... ... және ... ... үшін RDF ... деректерді сығу тәсілдерін қолдануы қажет. Өкінішке орай, кіріс ... ... ... байланысты сығу күрделі есеп болып отыр. Сондықтан MapReduce үлестірілген алгоритмдері RDF деректердің үлкен көлемдерін сығу және қайта қалпына ... аса ... Web-та ... ... ... ... ... болады, ал үлкен көлемді деректер өңдеу көп уақыт шығынын келтіруі мүмкін. ... ... ... ... келе ... ... бағдарламалау, соның ішінде Hadoop-MapReduce технологиясын қолдану үлкен көлемді деректерді тиімді әрі ... ... ... ... ... ... жаңадан дамып келе жатқан Семантикалық Веб негізі болып табылатын RDF ... сығу және ... ... ... жаңа ... әдісі осы жұмыста жүзеге асырылды.
Тәжірибелік маңыздылығы
Бұл дипломдық жұмыс ... ... - ... ... құрылымдалған деректерді семантикалық өңдеу мысалы, яғни деректердің RDF форматында берілген көлемін Hadoop-MapReduce технология ... сығу және ... ... ... бағдарламалық реализациясы.
Қазіргі жағдайды бағалау
Интернет - ... да ... ... ... ... ең ... әрі оның мазмұны әрдайым өсіп келеді және ол түрлі тілдерде, білімнің айтарлықтай барлық ... ... ... ақырында осы бүкіл мазмұннан негізгі мағына табу қиындап барады. Іздеу жүйелері белгілі бір сөздерден тұратын ... ... ... ... оның ... қажетті ақпарат болуы екіталай. Әрқашан белгілі бір элемент қалдырылып кетеді. Іздеу мазмұнның семантикалық мағынасына немесе парақ туралы ақпаратқа емес, ... ... ... ... ... ... бірден ол интернеттің бүкіл мазмұнын, ақпараттың әрбір элементінің сипаттамасын және осы элементтердің семантикалық мағынасының ... ... ... ... ... ... Осылайша іздеу жүйелері қазіргі жағдайымен салыстырғанда әлдеқайда тиімдірек болады, ал қолданушылар өздеріне қажетті ақпараттың нақ өзін табатын болады. Түрлі ... ... ... ... ... ... индекстеуге қабілетті. Ал қолданушылар интернет негізінде бағдарламалық ... ... ... осы ... жедел түрде табуға және оларды өз пайдасына немесе басқа қызметтермен сәйкестілікте қолдануға қабілетті болады.
Қазіргі кезде Веб-тің орнын ... Веб ... ... ... Веб ... өз орнын алып, нық отыруы үшін, оның өнімділік мәселелерін шешу қажет. Сол мәселелердің бірі болып, Семантикалық Веб көп ... ... RDF ... көлемінің тым үлкендігі, желі арқылы тасымалдау қиындығы, өңдеу жұмыстарының көп уақыт ... ... RDF ... ... ... ... ... шешімі ретінде Hadoop-MapReduce технологиясы көмегімен деректерді сығу және ... ... ... ... ... ... ұсынылып отыр.
Мақсаты
Семантикалық Веб негізі болып табылатын әлсізқұрылымдалған RDF деректерді Hadoop-MapReduce технологиясы көмегімен сығу және қалпына келтіруінің параллельді ... ... ... ... бір ... облыс таңдап, сол облысқа білім қорын жасау, дәлірек айтқанда, RDF моделінің синтаксисі пәндік облысын таңдау, білім қоры ... ... ... ... RDF форматқа келтіру қажет. Арнайы бағдарламалық қамтамасында тексеру.
3. Кодтау сөздігінің сығу және қайта қалпына келтірудің тізбектелген нұсқадағы ... ... ... ... ... сығуының үлестірілген алгоритмін Hadoop-MapReduce технологиясы көмегімен Java тілінде жүзеге асыру.
5. Кодтау сөздігі қайта қалпына келтіру ... ... ... ... ... Java ... жүзеге асыру.
Дипломдық зерттеу обьектісі
Семантикалық Веб негізі болып табылатын RDF ... ... ... дәлірек айтқанда сығу және қайта қалпына келтіру алгоритмдері.
Теориялық және методикалық негізі
Әлсізқұрылымдалған деректер семантикалық талдау кезінде RDF моделіне келтіріледі. ... бір ... ... ... RDF ... көлемі өте үлкен болады, ал деректерді өңдейтін қосымшалар ... ... ... үшін сығу ... ... ... болып отыр. Бұл дипломдық жұмыс негізі RDF деректерді Кодтау сөздігі әдісімен сығу және ... ... ... алгоритмін Hadoop-MapReduce технологиясы көмегімен параллельді түріне келтіріп жүзеге асыру.
Дипломдық жұмыс жазылуының тәжірибелік базасы
Онтология Protеgе білім қорын құру ... ... RDF ... Sesame RDF ... ... және ... ... өңделді. Сығу және қалпына келтіру бағдарламасы Java тілінде Eclipse интеграцияланған әзірлеу ортасында Jena - ... RDF ... ... ... ... ... және Jena Elephas - ... Hadoop-қа арналған кітапханасын қолдану арқылы әзірленді. Үлестірілген параллелді ... Hadoop ... ... ... ... ... жүзеге асырылды, яғни бағдарлама кластер үшін жазылып, бірақ бір машинада ғана орындалды.
Негізгі бөлім
1. Теориялық бөлімі
1.1 ... ... ... ... ... ... нашар құрылымдалған деректер) -- реляциялық деректер қорының моделіндегі кестелер мен қатынастардың қатаң құрылымына сәйкес ... ... да, ... ... ... және деректер тізімінде жолдар мен жазбалардың иерархиялық құрылымын қамтамасыз ететін тегтер мен басқа маркерлері бар, құрылымдалған деректер ... ... ... ... түрін сызбасыз (schemaless), ал құрылымын -- өзін-өзі сипаттайтын деп атауға ... Wide Web-та ... ... көп ... ... құрылымдалған, яғни қандай-да бір семантикалық құрылымы бар, бірақ деректер сызбасына ұқсайтын олардың ... ... ... ... ... ... ... деректер түрінде қарастырған жөн.
Басқа да көзқарастар бойынша нақ деректер сызбасының маңызы әлсізқұрылымдалған деректердің дәстүрлі деректерден негізгі кілттік ... ... ... ... ... ... сипаттайтын кілттік ережелерді атап өтуге болады:
* ... ... ... ... ... өзі мен ... сызбасын арасында анық айырмашылығы жоқ;
* Қатал типизация жоқ;
* Деректер сызбасын өзгерту деректерге өзгертулер ... ... ... ... ... ... ... олардың сызбасының күрделілігімен салыстырымды;
* Деректер сызбасы көрсетуші емес, сипаттаушы болып табылады, және де деректер өзінен алынуы мүмкін;
* ... құру үшін ... ... ... білу қажетті емес, деректер сызбасын толық ескермейтін сұраныстар да болу мүмкін.
Әлсізқұрылымдалған деректерде бір ... ... ... түрлі атрибуттар болуы мүмкін.Атрибуттар тәртібі де маңызды емес.
Әлсізқұрылымдалған деректер зерттелуі керек маңызды объект болып табылады бірнеше ... ... Веб ... ... ... ... ... сияқты қатынау ыңғайлы, бірақ Веб-ті қандай-да бір анықталған деректер сызбасына келтіруге болмайды;
* Түрлі деректер қорлары арасында деректер алмасу үшін ең ... ... ие ... ... ... ... ... өзінде навигация мақсатымен оларды әлсізқұрылымдалған деректер түрінде көрсетілімі ыңғайлы.
Сонымен, әлсізқұрылымдалған деректер жиірек кездесетін болды, өйткені интернет дамуымен толықтексттік документтер және ... ... үшін ... ... ... қызмет ететін деректер форматы қажет. Әлсізқұрылымдалған деректерді объектіге-бағытталған деректер қорында жиі кездестіруге болады.
1.2 Онтологиялар
Онтологиялар (гр. on (ontos) -- ... ... ... ... ... және ... да бір ... облыстың ұғымдары мен олардың арасындағы қатынастардың қандай да бір формалды тілдегі сипаттамасы болып ... ... ... ... мен ... ... ... келеді, бірақ шынымен олармен салыстырғанда кең болып табылады, өйткені сипатталатын деректердің құрылымын сипаттайтын қосымша құралдармен қамтамасыз етіледі. Онтологиялар өз мағынасында - ... ... ... ... олар метадеректер болып табылады.
Адамдар немесе бағдарламалық агенттер бірге қолдануында, пәндік облыстағы білімді жинақтау және қайта қолдану мүмкіндігі ... ... ... ... ғана емес, онтологиялармен де жұмыс істейтін моделдер мен бағдарламалар жасау үшін, пәндік облыстағы білімді талдау үшін және т.б. мақсаттарда ... ... және ... ... ... ортасында, әрқайсысында ағымдағы класпен салыстырғанда дәлірек ұғымдарды келтіретін ішкі кластары бар болуы ... ... ... ... барлық кластары бір немесе бірнеше иерархия құрып пәндік облыс ұғымдарын сипаттайды. Кластарда ұғымдардың қасиеттерін және класс негізінде жататын ішкі ... ... ... болу ... ... ішкі ... аталық кластар атрибуттарын мұрагерлікке алады. Кластың әр атрибутында атымен қатар, мән типі, рұқсат етілген мәндер және ... саны ... ... ... мән типі ... ... қандай типтері болуы мүмкіндігін сипаттайды, мысалы, жол немесе бүтін сан. Атрибуттың тек белгілі бір кластарды немесе кластардың белгілі бір экземплярларын ғана ... мән ... де ... ... ... ... ... атрибутқа шектеулер қояды, бірақ тип шектерінде орындалады, мысалы, бүтін сандардың берілген диапазоны. Атрибут қуаты ол қанша мәнге ие бола ... ... тек бір мән - ... қуат ... ... кез ... саны - ... қуат. Онтологияда класс экземплярлары болуы мүмкін, яғни барлық атрибуттарының мәндері орнатылған кластар ... ... ... көрсетілімі, білім инженериясы, ақпараттық ресурстар семантикалық интеграциясы, ақпараттық іздеу және т.б. салаларда жеткілікті түрде кең таралды. ғылымында ... - бұл , ... ... ... ... ... ... формалды беретін документ немесе файл. Бұл өзіндік тұрғыда пәндік облыстың ұғымдар сөздігі және осы ұғымдар мағыналарына қатысты анық айқындалған ... ... ... ... ... - ... ... түрдегі қатынастармен байланысқан ұғымдар иерархиясы түрінде көрсетіледі. Мұндай онтологиялар анықтамалары ... ... ... ... ... ... тілінің құралдарымен қалыптастырылады және логикалық қорыту мүмкіншіліктеріне ие болады. Мысал түрінде үйрету контексті атты кішігірім пәндік облыстың онтологиясының иерархиясын ... ... - ... ... ... ... ... онтологиясы
Ең қарапайым жағдайда онтологияларды Internet-те іздеу дәлдігін арттыру үшін қолдануға ... - ... ... ... ұғым ... жай кездескен емес, ал дәл мағынасында ескерілетін сайттарды ғана ... ... ... тілі - бұл ... анықтайтын және көрсететін тіл. OWL формалды семантикасы онтология көмегімен логикалық салдарды қалай алуға болатынын сипаттайды, яғни онтологияда тікелей көрсетілмеген, ... оның ... ... факт ... ... Бұл ... бір ... немесе OWL-дың белгілі бір механизмдерін қолдану арқылы комбинацияланатын бірнеше үлестірілген документтерге негізделіп алынуы мүмкін.
OWL веб-онтологиялар ... W3C Web Ontology (WebOnt) ... тобы ... OWL XML/Web ... ... ... бірақ одан айырмашылықтары бар.
Онтологиялардың XML схемаларынан ерекшелігі: бұл білім көрсетілімі, ал хабарламалар форматы емес. Веб-стандарттардың көбісі ... ... және ... ... ... тұрады. Бұл форматтарға эксплуатациялық семантика берілген, мысалы: Бірақ спецификация берілген ... ... тыс ... ... Мысалы, ереже бойынша, Тауар аты Шардоне болғандықтан, ол сонымен қатар ақ вино болатынын қорытындылай алатын механизм жоқ.
OWL онтологияларының артықшылықтарының бірі олар ... ... ... ... ... болып табылады. Құралдар берілген пәндік облыстың өзіне тән емес жалпы қолдауды қамтамасыз етеді. Айқын және жұмыс істеуге ... ... ... құру - ... іс ... ... құру ... жоғарылау.
OWL негізіндегі Web онтологиялық тілінің компоненттері.
OWL негізгі компоненттері кластарды, қасиеттерді және жеке элементтерді қамтиды.
Кластар
Кластар - бұл OWL онтологиясының ... ... ... - бұл домендегі концепция. Әдетте, кластар таксономиялық иерархияны құрады (яғни класс асты - класс үсті ... owl: Class ... ... ... OWL ... алдын-ала анықталған екі класс бар: owl:Thing және owl:Nothing. Бұлардың біріншісі әлдеқайда ортақ болып табылып, бәрін қамтиды, екіншісі - бос ... ... ... кез-келген класс owl:Thing класының класс асты және owl:Nothing класының класс үсті болып табылады. Банк ісі саласындағы кластардың ... Шот ... ... ... ... ... ... мүмкін.
OWL класының мысалы:



Мысалдағы код SavingAccount элементі Account класының класс асты болып табылатын класс екенін көрсетеді.
OWL кластарды сипаттаудың негізгі алты тәсілін ... Ең ... - бұл ... (named) бар класс. Басқа тұрпаттары - бұл ... ... ... (union), ... ... кластары және аударымдар (enumerated) кластары. Мысалда осы ... ... ... ... ... SavingAccount шектеуліктер класын Account деп аталатын кластың класс асты ретінде анықтайды. W3C OWL кластарының ... ... ... ... Ресурстар бөлігінен табуға болады.
Қасиеттер
Қасиеттер екі негізгі санатқа бөлінеді:
+ объекттік қасиеттер (Object properties), бұлар жеке элементтерді өзара байланыстырады;
+ ... ... ... (Datatype properties), бұлар жеке элементтерді бүтін сандар, құбылмалы үтірі бар сандар және жолдар тәрізді деректер типтерінің мағыналарымен байланыстырады.
OWL деректердің типтерін ... үшін XML ... ... ... доменді және сонымен байланысты кейбір саланы қамтуы мүмкін. Кез-келген қасиет келесі санаттардың біріне кіреді:
* функционалдық: кез-келген объект үшін ... тек бір ... ғана ... мүмкін (мысалы, адамның жасы, бойы және салмағы);
* кері-атқарымдық: түрлі екі жеке элемент бірдей ... ие бола ... ... кез-келген адамның банк шотының бірегей нөмірі болады немесе SSN (social security number);
* симметриялық: егер қасиет А ... В ... ... онда ... оның ... В ... де А ... байланыстыратыны туралы қорытынды жасауға болады. Симметриялық қасиеттердің мысалдары немесе деген тәрізді мағыналарды қамтиды;
* транзитивтік: егер ... А ... В ... ... ал В ... С ... ... онда ол А элементін С элементімен де солайша байланыстырады деп болжауға болады. Мысалы, егер А ... ... ... ал В ... ... ... онда А С-дан жоғары.
Кластар мен қасиеттерге түрлі шектеулер ... ... ... ... ... шектеулері класс немесе жеке элемент қатыса алатын байланыстар санын көрсетуі ... RDF ... Web ... келесілер кіреді:
* аттардың жаһандық тәсімі (URI);
* деректер сипаттамасының стандарттық синтаксисі (RDF);
* деректердің қасиеттерін сипаттаудың стандарттық ... (RDF ... ... ... ... байланысты сипаттаудың стандарттық тәсілдері (Web онтологиялық тілінің көмегімен анықталатын онтология (Web Ontology ... -- ... ... ... ... ... децентрленген әлемдегі білім көрсетілімінің тәсілі, Семантикалық Веб негізгі ... RDF -- бұл ... ... ... ... ... ... емес.
RDF моделі 90-шы жылдар соңында пайда болды, ал 2001 жылы Scientific American журналында ... тор ... ... ... ... Web) Тим ... ... әйгілі мақаласы [3] жарық көрді. Сол шақтан бастап ... ... ... ... ... ... соның ішінде RDF-ке де қызығушылық дереу артты, ал 2004 жылы RDF W3C комитетінің стандарты түрінде қабылданды. Стандарт бойынша семантикалық Веб ... ... RDF ... 1.2 - суретте көруге болады.
1.2 - сурет. Семантикалық Веб ұғымдар стегі
RDF [32] ... - бұл ... ... ... ... сипаттайтын деректердің субъект-предикат-объект (үштік, triples) пайымдаулары түріндегі көрсетілімі. 1.3 - суретте үштік ... ... - ... RDF үштігі
RDF спецификациясында желілік ресурстар арасында қатынастар құру қағидаты үш компонент болуын қарастырады - объект, атрибут және мәні ( ... ... ... ... ... ... әр элементіне идентификатор (URI) беріледі, оның көмегімен түйіндердің біреуіне сілтеу арқылы автоматты ... ... ... ... ... болады. RDF тілінің триплеттерінен өзара байланысқан желі қалыптаса алады. RDF ақпаратты документте кодтау үшін URI-идентификаторлар қолданатындықтан, бұл әр ұғым Желіде ... ... бір ... ... ... ... негізгі құрылыс блогы - үштігі көбіне A(O,V) түрінде жазылады, мұндағы О - ... А - V ... ... RDF объекттер мен мәндер орындарын ауыстыруға рұқсат береді.
Бастапқыдан RDF-та объекттер, ұғымдар, қасиеттер және қатынастар сәлтемелері үшін XML ... ... және ... ... ... ... басқа түрлері де бар, мысалы, үштіктер тізбегі түрінде:
hasName
("http://dwl.visti.net", "Dmitry Lande")
authorOf
("http://dwl.visti.net/", "ISBN5845907640")
hasPrice
("ISBN5845907640", "$8").
Сонымен қатар, RDF үштік түріндегі кез ... RDF ... ... немесе мән болуына рұқсат береді, яғни берілген объектте белгілі бір тип бар ... ... ... ... мысалы, "ISBN5845907640" - бұл rdf:type book, RDF ... book ... ... ... үштігің құрамының үш компоненті:
o субъект: RDF URI сілтемесі немесе бос түйін болады;
o предикат: RDF URI ... ... ... RDF URI сілтеме, литерал немесе бос түйін болады.
Субъекттер, объекттер және предикаттар идентификациясы үшін URL ұғымының жалпылануы болып табылатын Uniform Resource ... (URI) ... ... ... граф - RDF ... жиыны.
RDF -- бұл кез келген ... ... ... ... ... ... Ол ... яғни сол бөліктер мағынасына қатысты белгілі бір ережелерді тағайындайды. ... ... - кез ... ... бір ... әдіспен сипаттауға болады, әрі бұл компьютерлік бағдарламалар өңдей ... ... ... ... ... ... ... болатын, байланыс доғалары предикаттар болатын, ал оларды анықтау үшін URI идентификаторы қолданылған RDF графының мысалы көрсетілген.
1.4 - ... RDF ... ... Web ... ... - RDF ... ... ал оның қызметі желілік ресурстар мен ақпарат арасындағы қатынастарды сипаттау болып табылады. XML ... ... ... мағыналық болмысынан үзілген. Сондықтан XML-мен параллелді түрде RDF стандарты жасалына бастады, яғни RDF ... Web ... ... ... және ... қорытулар негізінде іздеу мен навигацияны қамтамасыз ететін құралдар арасындағы ... ... ... ... ... ... ... сипаттайтын тіл болып табылады. RDF терминдер мен ұғымдар мағыналарын бағдарламалар өңдей алатын түрге келтіретін технология болып табылады. Бұл технология Web ... ... ... анықтамалары және қолдануын стандарттауға арналған, әрі ресурстардың өзіндегі деректерді көрсетіліміне арналған.
RDF спецификациясы кез келген ұғымдарды анықтауға мүмкіндік ... ... ... ... ... коммерцияда сәйкесінше баға мен есеп мәндері жазылатын "Price" және ... ... ... болады).
Ақпараттық ресурстар терминдар жиыны көмегімен сипатталады. Семантика, терминдардың өздерінің және терминдар сөздіктерінің мағыналары глобалды ... URI ... ... RDF-та RDF-сызба деп аталатын терминдар сөздігі алдын ала қарастырылған, бұл сөздік RDF-пайымдауларда қандай терминдар қолданылуы мүмкіндігін және ... ... ... анықтайды, пәндік облыс ұғымдарының иерархиясын көрсетеді, әр термин сипаттамаларын суреттейді.
1.4 ... ... - Apache Software ... ... ашық кодты жоба. Hadoop сенімді, масштабталатын және үлестірілген есептеулерде қолданылады, ... ... ... петабайттарын өзіне сыйғыздыра алатын жалпыға ортақ файлдар қоймасы түрінде қолданылуы мүмкін. ... ... ... ... және ... ... ... екі кілттік компоненттен тұрады:
+ Hadoop үлестірілген ... ... ... HDFS), ол Hadoop кластерінде деректер сақталуына жауап береді;
+ MapReduce жүйесі, ол кластердегі деректердің үлкен көлемін өңдеу және ... ... ... компоненттер негізінде Pig, Hive, HBase және т.б. тәрізді бірнеше ішкі жобалар жасалынған.
+ HDFS
HDFS, Hadoop үлестірілген файлдық жүйесі - бұл Hadoop ... ... ... сақтайтын негізгі жүйе. HDFS деректер блоктарын көп рет ... бұл ... ... ... ... ... яғни есептеулердің жоғары сенімділігі мен жылдамдығын қамтамасыз етеді:
* ... ... ... ... ... ... ... HDFS файлдарды регулярлы емес, ретсіз оқу емес, көбіне ағындық оқуды орындауға ықшамдалған;
* HDFS жүйесіндегі файлдар бір рет ... және ... ... ... ... ... ... емес;
* Қосымшалар үлестірілген файлдық жүйе файлдарын Java бағдарламалық интерфейсі арқылы тікелей оқи алады және жаза алады.
+ ... - ... ... және ... түйіндердің үлкен параллелді кластерларында деректің үлкен көлемдерін жоғары жылдамдықты ... ... ... жазу ... ... автоматты түрде параллелденуін және үлестірілуін қамтамасыз етеді;
* тұрақтылықты және жеке элементтердің істен ... ... ... ... ... ... ... бар;
+ бағдарламалаушылар үшін абстракцияның таза деңгейін қаматамасыз етеді.
MapReduce Google 2004 жылы қолданысқа енгізген үлестірілген бағдарламалау парадигмасы болып табылады. Модель екі ... ... map және reduce ... құралған, Lisp тәрізді функционадық тіліндегі map және reduce функцияларына ұқcаc. MapReduce бағдарламалау үлгісі өте тиімді болып ... ол ... аз ... параллелизмнің жоғары дәрежесін береді. Бұл бағдарламалау үлгісінде барлық ақпарат () жұбы ... ... ... ... тапсырмасының жұмыс үрдісі мынадай: біріншіден, мар функциясы кірісті өңдеп, басқа жұпты шығысына береді. Ал reduce функциясы кілттерге байланысты ... да бір ... ... ... ... ... ... нәтижелерін шығысқа береді. Маппер және редюсер функцияларының кіріс деректерді өңдеу жұмысын қысқаша көрсететін сұлба 1.5 - суретте бейнеленген.
1.5 - ... ... және ... функцияларының кіріс мәліметті өңдеу ерекшеліктері
Hadoop стандарттық орнатылуы демондардың жиынынан ... ... ... серверлердегі резиденттік бағдарламалардан тұрады. Кейбір демондар бір серверде, басқалары бірнеше серверде ашылуы мүмкін. Қолданыстағы демондар төменде ... ... ... ... ... ... (HDFS) де, ... есептеулерге де (MapReduce) басты/бағынышты архитектурасы қолданылады. NameNode демоны DataNode бағынышты демондардың арасындағы енгізу/шығару төмен деңгейлік ... ... HDFS ... ... ... ... Ол файлдардың блоктарға ұсақталу есебін жүргізеді, осы блоктардың ... ... ... ... ... ... және үлестірілген файлдық жүйенің жалпы күйін қадағалап отырады. Name Node демоны DataNode немесе TaskTracker сияқты дубляжданбайды;
+ ... ... ... жүйенің жұмысын орындайды: HDFS блоктарының салыстырып оқылуы және олардың локалдық файл жүйесіндегі физикалық файлдарға жазылуы қамтамасыз етеді;
+ Secondary NameNode (SNN) - HDFS ... ... ... ... көмекші демон. Жоғарыда NameNode демонының дубдяждалмайтыны айтылды, осылайша Hadoop жалпы бас тарту нүктесі болып табылады. SNN ... ... бос ... қалу уақытын азайтып, деректердің жоғалуын минимумға жеткізуге мүмкіндік береді;
+ JobTracker - Hadoop пен клиенттік ... ... ... буын болып табылады. Кластерге код беру кезінде JobTracker орындау жоспарын құрады, яғни қандай файлдарды өндейтінін анықтап, түрлі тапсырмаларға түйіндер ... және осы ... ... ... ... Hadoop ... тек қана бір ... болуы мүмкін - JobTracker;
+ TaskTracker. Сақтау демондары сияқты есептеулер демондары да ... ... ... ... ... - ... тапсырмаларының орындалуын ұйымдастыратын басты демон болса, TaskTracker демондары ... ... жеке ... ... басқарады.
Hadoop архитектурасының демондардың өзара байланысы 1.6 - суретте бейнеленген.
1.6 - сурет. Hadoop архитектурасы
1.6 - суретте кластердің барлық түйіндері үшін Namenode ... ал ... ... Datanode ... ... ... тұр.
1.5 Кодтау сөздігі
Деректерді сығу (data compression) -- тасымалдаушылардағы (қатты ... ... ... магнит таспасы) деректер жазбасының көлемін (өлшемін) қысқартудың техникалық әдісі; көбінесе ... ... ... ... ... қолданатын әртүрлі әдістермен жүзеге асырылады. Деректерді сығудың екі тәртіптеме тобын бөліп көрсетуге болады: статистикалық және динамикалық; сондай-ақ физикалық және ... ... ... және ... бейімделген, жартылай бейімделген және бейімделмеген кодтау; шығынсыз, шығынмен және аз шығынмен сығу.
Логикалық сығу (logical compression) -- ... ... ... ... және екілік символдардың бір жиынтығы басқа сөзбен алмастырылатын әдістеме. ... бұл ... ... ... ... ... береді. Мысал ретінде сөз тіркесінің аббревиатурамен (қысқармамен) алмасатынын ... ... ... сығу символдық немесе жоғарырақ деңгейде жасалады және тек қана алғашқы деректердің мазмұнына негізделген. Логикалық сығу суреттер үшін қолданылмайды.
Сөздікті қолдану арқылы сығу ... ... ... ... және ... ... индекстерге ауыстыру болып табылады. Бұл әдіс - деректерді сығудың қазіргі кезде әлдеқайда көп таратылған тәсілі. RLE табиғи жалпылау болып табылады. ... ... ... көп ... нұсқасында сөздік біртіндеп сығылу процесінде деректердің бастапқы ... ... ... ... ... сөздік әдісінің негізгі параметрі болып табылады. Сөздік неғұрлым үлкен болса, тиімділігі соғұрлым жоғары болады. ... ... емес ... үшін тым ... ... ... ... мүмкін, себебі деректер тұрпатының кенеттен өзгеруі кезінде сөздік көкейкесті емес сөздермен ... ... ... ... нәтижелі жұмысы үшін сығу кезінде қосымша, атап айтқанда сөздіктің бастапқы деректері үшін қажетті ... ... ... жад ... ... Қалпына келтірудің оңай және тез рәсімі сөздік әдістерінің маңызды артықшылығы болып табылады. Бұл орайда қосымша жадының қажеті жоқ. ... ... ... ... ... ... жағдайда мұндай ерекшелік өте қажет.
Сөздікті қолдану арқылы сығу әдістеріне келесі алгоритмдер кіреді: LZ77/78, LZW, LZO, DEFLATE, LZMA, LZX, ... Веб [3] RDF ... ... ... моделі көмегімен жасалған облыстардың кең диапазонында ақпараттарды ... ... ... пайымдауларға ие, бұл облыстар диапазоны медикалық-биологиялық ақпараттан [33] мемлекеттік ақпаратқа [34] дейін болады. Бірмәнділік қамтамасыз ету ... URI жиі ұғым ... ... ... URI ұзын ... ... Web қосымшалардың көбісі, мысалы, RDF сақтау құралдары,кеңістікті сақтау және өнімділік арттыру үшін пайымдауларды ... ... ... ... осы ... көлемдерін ең жақсы өңдеу және жоғары өнімділік үшін RDF қосымшалар деректерді сығу ... ... ... Өкінішке орай, кіріс деректердің үлкен көлемдеріне байланысты сығу күрделі есеп болып отыр. Сондықтан MapReduce үлестірілген алгоритмдері RDF ... ... ... сығу және қайта қалпына келтіруде аса тиімді. Деректерді сығуда ең жиі қолданылатын тәсілдерінің бірі ... ... ... ... ... ... деректер тізбегіндегі әр элемент сандық идентификатормен ауыстырылады. ... ... ... ... ағымдық сығылмаған қалпына қайта келтіруге болады. Өзінің қарапайымдылығына байланысты бұл тәсіл түрлі облыстарды пайдаланылады.
Біздің жағдайда кодтау сөздігінің сонымен қатар тағы бір ... бар: ... ... ... ... ... ... беруге болады. Gzip немесе bzip2 тәрізді дәстүрлі әдістер сығылған деректерді жасырып тастайды, сондықтан ол ... ... ... ... оқу ... ... ... яғни кодталған деректермен сұраныстар жасап, тағы да басқа манипуляцияларды жасау [24] ... ... Бұл ... ... кодтау сөздігі көмегімен сығылған деректермен сығылмаған бастапқы қалыптағы деректермен жұмыс істегендей өңдеуге болатындығын дәлелдеген.
Бір ... ... ... ... ... 3Store және Сезам тәрізді RDF сақтау жүйелерінде ақпаратты тиімдірек сақтау үшін [5-7] пайдаланылады. asWebPIE [4] және OWLIM [8] ... ... ... ... де ... осы тәсілмен сығады. RDF деректерге қолданыла алатын сығу ... [9] ... ... Бұл мақалада авторлар үш түрлі әдісті қарастырған: стандартты сығуы, тізімдер шектестігі негізінде сығу және ... ... ... ... ... сығу ... ... деректер құрылымына тәуелді, және де кодтау сөздігі деректер құрамында URI саны әжептәуір көп болғанда ең ... ... ... [10] ... ... RDF ... URI-ларға құрылымдалған кодтау сөздігін қолданатын тәсілді ұсынады. Бұл тәсіл екі деңгейде ... ... ... ол URI ... кеңістігін сығады, ал кейін URI атаулар кеңістігінің қалған бөлігін сығуға кіріседі. Жұмыс бастапқы кезеңдерде болса да, ... ... сығу ... ... Gzip-пен салыстырғанда 19,5%-дан 39,5%-ға дейін тиімдірек екенін ... ... сығу ... басқа жұмыс [11]-те сипатталған. Мұнда авторлар тиімді веб-кэштеуді ... ... ... ... бөлген, және де URL кестелерін сығу қарапайым алгоритмін ұсынады. Алгоритм жалпы префикстер ... үшін URL ... ... негізделген, префикстар арасында шиеленістерді минимумға келтіру үшін хэштеу функциясын қолданады. Осы ... ... ... ... ... ... ... минимумға жеткізе отырып, снымен қоса ақпаратты сықты. Кодтау сөздігі тек Semantic Web-та ғана емес, ... ... да ... [12]-те кодтау сөздігі суреттерді сығуда пайдаланылған. [13]-те авторлар кейбір параллелді сығу алгоритмдерін алдын ала дайындалған сөздіктер қолдану арқылы ... ... ... ... ... ... сыйа ... сздіктер көлемі аз. Жадтағы түрлі деректер құрылымдары жұмыстары ... ... ... ... ... Салыстырулар бойынша, хэш-кесте ең тез дерек құрылымы екендігі айқан көрініп тұр. [15] Trie ... деп ... жаңа ... ... ... ... ол реттелген немесе жартылай реттелген жолдарды қолдайды, және ағаштардың біреуімен салыстыруға болатындай өнімділікке ие. ... ... ... ... орындағанымызды талап етеді, бірақ түпнегіздік MapReduce парадигмасы тиімді қосылыстарды жүзеге асыратын қандай да бір құралдарды ... ... ... моделінің кеңейтілімі Map-Reduce- Merge [16] деп аталады да, ... ... ... қолдайтындай кеңейтуге бағытталған. Pig [17] және Hive [18] тәрізді басқа ... Hadoop ... ... және де олар өте ... ... көлемдерінде сұраныстарды орындау үшін SQL-типтес тілдерді қолдайды.
2. Тәжірибелік бөлім
2.1 Онтология құру
Негізгі онтология құрмас ... ... Protege ... ... құру ... ... үйретуші сабақтар бойынша онтология мысалы құрылды. Бұл онтологияның кластары мен қасиеттер иерархиялары 2.1 - ... ... - ... Пицца онтологиясының иерархиялары
Негізгі тақырыбымыз онтология құру үшін ... ... ... ... (classes, properties): ConstraintProperty, Literal, Resource, ConstraintResource, Statement, Conatiner, ... ... ... (object ... comment, ... label, ... range, seealso, subClassOf, subPropertyOf, subject, type.
2.2 - суретте құрылған онтологияның кластар мен қасиеттер ... ...
2.2 - ... RDF ... синтаксисінің онтологиясының иерархиялары
Ұғымдар анықтамалары бойынша кластар иерархиясы ... ... ... ... көмегімен байланыстырылды.
Онтологияның графының сызбасы 2.3 - суретте көрсетілген. Граф сызбасында кластар төртбұрыштар түрінде, ал қасиеттер ... ... ... ... түрінде сызылған.
2.3 - сурет.
Онтология толық құрылып болғаннан кейін, RDF/XML форматында сақталынады (файл А қосымшасында көрсетілген).
2.1 RDF моделін ... RDF ... ... және ... ... онтологияның документін жүктеліп, RDF моделімен жұмыс істелінді. Онтология құрамындағы RDF ... 2.4 - ... ... - ... RDF ... ... ... RDF моделіндегі бүтіндіктерінің тізімдері
Ал онтология үштіктерінің тізімі 2.5 - суретте бейнеленген. Тізімнің бірінші бағанында субъекттер, ... ... ... ... ... ... URI ... толтырылған.
2.5 - сурет. RDF үштіктерінің тізімі
2.3 Hadoop орнату және баптау
Алдын ала қажетті орнатулар мен ... Java 8 ... Hadoop ... ... ... ... ортасы болғандықтан, алдымен негізгі жұмыс істелінетін компьютердің Ubuntu операциялық ... java ... ... Hadoop ... ... ... (i.e. Java 1.5) java ... қолдайды. Сондықтан, Java 6, 7 немесе Java 8 нұсқаларын таңдауға болады. Біздің жағдайымызда соңғы нұсқасы таңдалынды. Командалары:
inkar@inkarPC:~$ sudo ... ... sudo apt-get ... sudo apt-get install oracle-java8-installer
Терминалға көрсетілген командалар жазылып, орындалғаннан кейін, /usr/lib/jvm/java-8-oracle папкасында java негізі орнатылды. Дұрыс орындалғандығын тексеру үшін, ... ... ... ... java - ... пен MapReduce-ке рұқсат үшін Hadoop қолданушысын жасау
Қауіпсіздік мәселелерін болдыртпас үшін, Hadoop-пен байланысты іс-шаралармен ... ... ... ... жаңа Hadoop ... ... және қолданушылық аккаунт жасаған дұрыс.
Алдыңғы мақсатпен, hadoop деген жүйелік топ және hduser атты жүйелік ... ... ... ... sudo addgroup hadoop ... sudo adduser ... hadoop hduser
SSH орнату
SSH () басқа бір машиналарға қауіпсіз қатынауға арналған хаттама болып табылады. Hadoop барлық HDFS және ... ... ... және ... ... басқа түйіндерге қатынасу үшін SSH пайдаланады. Хаттаманы орнататын команда:
inkar@inkarPC:~$ sudo apt-get install ... SSH ... ... бұл Ubuntu ... және ... қашықтан қатынауға болады.
SSH баптау
SSH орнатылғаннан кейін, бұл машинадан басқа машиналарға және басқа машиналар осы машинаға қатынай алады. Бізде тек бір ... ... тура сол ... SSH арқылы байланысып көру керек. Ол үшін, құрылған RSA кілтін (яғни id_rsa.pub) SSH орнатылуының авторизацияланған кілттер authorized_keys ... ... ... ... hduser ... ... hduser қолданушысы үшін ssh кілт жасау керек, ... ... sudo su ... ... -t rsa -P ... cat ... >> ... ажыратылуы
Hadoop IPv6-да жұмыс істемейтіндіктен, оны ажурату қажет. ... ... бірі IPv4 ... әзірленгені және тестіленгені болып табылады. Hadoop түйіндернде қарым-қатынас мүмкіндігі болады, егер IPv4-ке ... ... (IPv6 ... ... соң, ... ... жаңаруы үшін, оны сөндіріп, қосу керек). IPv6 ажырату үшінбіздің Linux машинамызда, /etc/sysctl.confфайлының соңына келесі кодтарды қосылды:
# disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = ... = ... ... Hadoop ... реализациясы Apache терезелері негіздерінен жүктелінді, дәлірек айтқанда Apache Hadoop 2.6.0 жүктелінді. Орнатылатын папка таңдалынды да, негіз архиві қалпына келтірілді, папка ... ... cd ... ... tar -xzvf ...
sudo mv hadoop-2.6.0 /usr/local/hadoop
Папка иесі hduser болып көрсетілді:
sudo chown ... -R ... ... және Datanode атты Hadoop ... папкаларын жасалынды:
sudo mkdir -p /usr/local/hadoop_tmp/hdfs/namenode
sudo mkdir -p /usr/local/hadoop_tmp/hdfs/datanode
Бұл папкалар иесі де hduser ... ... chown ... -R ... ... файлдарын жаңарту
Қолданушы профилі өзгертілді, $HOME/.bashcr жаңартылды:
hduser@inkarPC:~$ sudo gedit .bashrc
Ашылған мәтіндік редактор терезесінде файл соңына келесі жолдар енгізілді:
# -- HADOOP ... ... START -- ... JAVA_HOME=/usr/lib/jvm/java-8-oracle
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
# -- HADOOP ... ... END -- ... ... файлдарын баптау үшін, алдымен hadoop-env.sh файлында java негізінің орнын көрсету қажет. Мәтіндік редакторды ашу ... sudo gedit ... ... ... ... бар жолды тауып, оны өзгерту қажет:
JAVA_HOME=/usr/lib/jvm/java-8-oracle
Біз бір машинамен жұмыс істегендіктен, Hadoop жалған үлестірілген тәртіпке бапталуы керек болды. Бұл ... ... ... ... тұратын кластермен жұмыс істегендей болады, яғни жазылған бағдарлама көп машиналардан құралған кластерларда да жұмыс істей алады. Ол үшін Hadoop - тың ... ... ... өзгертілді.
Конфигурациялық файл: core-site.xml. Сәйкес өзгертуші командасы:
hduser@inkarPC:/usr/local/hadoop/etc/hadoop$ sudo gedit core-site.xml
Файл жаңартылуы:




fs.default.name
hdfs://localhost:9000


Конфигурациялық файл: core-site.xml. Сәйкес өзгертуші командасы:
hduser@inkarPC:/usr/local/hadoop/etc/hadoop$ sudo gedit ... ... ... yarn-site.xml. Сәйкес өзгертуші командасы:
hduser@inkarPC:/usr/local/hadoop/etc/hadoop$ sudo gedit yarn-site.xml
Файл жаңартылуы:



yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler


Конфигурациялық файл: mapred-site.xml. Сәйкес ... ...
cp ... sudo gedit mapred-site.xml
Файл жаңартылуы:




mapreduce.framework.name
yarn


Жұмысты бастамас үшін, Namenode форматталуы қажет, командасы:
hduser@inkarPC:hdfs namenode - format
Hadoop демондарын іске қосу үшін hdfs ... мен ... ... ... іске қосылады:
hduser@inkarPC:/usr/local/hadoop$ start-dfs.sh
hduser@inkarPC:/usr/local/hadoop$ start-yarn.sh
Hadoop дұрыс іске ... ... ... ... ... үшін, келесі команда нәтижесі қаралды:
hduser@ inkarPC: jps
Нәтижесі 2.6 - суретте көрсетілген:
2.6 - сурет. Hadoop іске ... ... ... ... ... алгоритмін жасау
Кодтау сөздігінің тізбектелген алгоритмінің бағдарламасының коды Қосымша Ә-де көрсетілген. Бағдарлама Java ... Eclipse ... ... ... Jena - арнайы RDF деректермен жұмыс істеуге арналған кітапханасы қолданып әзірленді. Бағдарлама кірісінде .rdf ... бір ... ... ... ал ... екі ... - бірі сөздік (dictionary), екіншісі кодталған ағымдық документ (output_file). InputStream-мен кіріс файл оқылады, ... ... ... modelin ... RDF ... моделі құрылады. Модель құрамындағы үштіктер тізімі түрінде қарастырылады.
Statement stmtin = iterin.nextStatement(); ... ... ... ... ... көмегімен тізімдегі кезекті үштік оқылып отырады, мұндағы iterin - ... ... ... ... ... ... итератор.
Әр үштіктің субъектісіне, предикатына, объектісіне қатынау үшін келес функциялар сәйкесінше қолданылады:
Resource subjectin = stmtin.getSubject(); ... ... = ... ... objectin = ... ... ... ... ... ... ... үштіктің субъектісі оқылып отырады.
(3) формуласында көрсетілген getPredicate() функциясы көмегімен үштіктің ... ... ... ... ... ... ... көмегімен үштіктің объектісі оқылып отырады.
Бастапқыда сөздік файлы құрылады да, әр оқылған жаңа терм түрінде сөздікке өзіне ... жаңа ... ... ... ... айтқанда индентификаторы субъект түрінде ((5) формуласында көрсетілген), ... өзі - ... ... ... ... is ((6) ... көрсетілген)болады.
Resource subjectdict = modeldict.createResource(newid) ... ... ... терм ... ... бар болса, онда сөздіктегі дайын сандық идентификаторы алынады. Ол үшін сөздіктегі деректер ... ... тез табу үшін (7) ... ... ... ... ... тізіп шығатын итераторлық функция қолданылады.
ResIterator iterdict=modeldict.listResourcesWithProperty(is, term.toString()); (7)
iterdict.hasNext()функциясы көмегімен сөздікте терм бар ма, жоқ па ... ... ... егер бар болса, оң мән қайтарады, жоқ болса 0 қайтарады.
Оң нәтиже алсақ iterdict.nextResource() ... ... ... ... ... аламыз.
Шығыс файлына терм орнын сақтай отырып сөздіктен алынған термнің сандық идентификаторы бірден жазылады. Ол үшін кодталған ... ... ... ... ... ... ... моделіне жазылады ((8) формуласында көрсетілген).
modelout.add(subjectout, predicateout, objectout); ... ... ... ... және ... ... ... файл ағындарына жазылады.
modeldict.write(dict, "N-TRIPLES"); ... ... ... ... - ... ... ... - суретте RDF пайымдауларды сығу және қалпына ... ... ... ... ...
2.7 - ... Кодтау сөздінің тізбектелген алгоритмі
Сығу алгоритмі сөздік кестесін жариялаудан басталады, бірінші бағанда термдердің мәтіндік көрсетілімі, ал екінші бағанда ... ... ... ... ... пайымдаулардың термдерін біртіндеп оқып, сөздікте бар-жоғын тексереді. Егер терм сөздікте болса, онда ... ... ... ... ... терм ... ... Кері жағдайда алгоритм жаңа сандық идентификатор тағайындайды, жаңа ... ... ... ... да, ... ... ... шығысында сығылған деректер мен сөздікті береді. Өкінішке орай, ... ... ... реализациясы семантикалық веб деректер көлеміне масштабталануы қолайсыз. Бұл жағдайда орталық ... ... ... ... ал барлық машиналар бұл серверге сандық идентификатор алу үшін сұраныстар жіберіп отырады. Мәселе барлық машиналар орталық серверге ... ... үшін ... ... ... ... сондықтан орталық сервер жұмыс өнімділігінің тар жері ... да, бұл ... ... ... ... деректерді сығудың тағы бір мәселесі, сөздіктің көлемінде болып отыр. Көбіне қолданылыста кодтау сөздігін бір машина негізгі жадына салу қиынға әкеліп ... ... ... ... ... ... жүздеген мыңдаған түрлі сөз бар. Миллиард пайымдауда жүздеген миллион түрлі термдер болады. Бұл терминдардың сөздігі бір ... ... ... ... ... ... көзқарас бұл мәселені шешпейді, өйткені орталық машинада барлық деректер қорын сақтау керек. Сөздік көлеміне байланысты, оны бір машинада сақталуы, өнімділіктің ... ... ... және жад қолдану мәселелерін шешу үшін жаңа көзқарас керек. Бұл жұмыста осындай жаңа ... - ... ... көмегімен сығу және қалпына келтру суреттеледі. Бұл техниканы қолданып, бір миллиард пайымдауды 2 ... аз ... ... ... ал бұл ... ... көзқарастармен салыстырғанда бірнеше есе тез.
2.5 Кодтау сөздігі параллелді сығу алгоритмін жасау
Сығу және ... ... қоса ... ... ... ... ... қағидаты деректер жиынындағы барлық термдерді оқып, бірдей мәнді мүшелерін топқа жинастырып, әрқайсысын бірегей ID-мен алмастыруында. Бұл ауыстыру ... reduce ... оңай ... ... ... ... ... түрде бір топқа жинастырылады. Өкінішке орай, бұл реализацияда үш ... ... ... ... ... өңдегіміз келеді, ал кіріс деректер термдердің үштіктерінен (triples) құралады, және шығысында да кодталған үштіктер болып ... ... ... ... үштіктерді термдердің тізбектеріне бөліп, термдерді кодтап, кейін қайта код үштіктерін құрастыру керек.
Екіншіден, ... ... ... ... ... ... жаңа сандық идентификаторларды тағайындауда синхронизацияланған қатынау талап етеді. Бұл көзқарас дұрыс масштабталынбайды, сондықтан орталықтандырылған деректер құрылымынан бас ... ... жаңа ... ... ... ... жаңа ... қоса алатындай үлестірілген түрдегі сөздікті біртіндеп құру қажет. Шиеленістерді болдыртпау үшін, идентификаторлардың сандық кеңістігі редюсерлар санымен бірдей бірнеше бөліктерге ... де, әр ... тек ... тән ... ... ғана ... ... беріледі.
Үшіншіден, деректердің ауытқу деңгейінің жоғарылауы. Кейбір ... ... көп рет ... ... ... ... ... барлық термдардың тізбегі бір машинаның негізгі жадына сыймауы мүмкін. Бұл мәселені шешу үшін ... ... ... ... ... ... ол тек ... жадпен ғана жұмыс істейді, ал иденификатор белгілеу процесі кезінде барлық ... ... бір сан ... үшін ... түрде жұмыс істеуі керек. Бұл мәселенің шешімі ретінде біз алдымен әйгілі термдердің тізімін жасау, оларға идентификаторларды тағайындау, алмастыруды ... ... емес ... сияқты редюсер жұмысы кезінде емес, маппер функциясы кезінде жүзеге асыру.
Осы ... ... ... ... ... ... ... үлестірілген алгоритмі үш жұмысқа ( Job) бөлінген (2.8 - суретте көрсетілген).
2.8 - сурет. Кодтау сөздігінің үлестірілген сығу алгоритмінің сызбасы
Бірінші ... ... ... ... Web-та термдар үлестірілуі өте бірыңғай емес, бірнеше әйгілі терм және қалғандары бірнеше рет қана кездесетін әйгілі емес термдар болады. ... ... ... ең ... ... ... ... табылады. Ол үшін жұмыс термдердің кездесулерін есептейді де, ең жиі кездесетін - ... ... ... ... ... ... өте ... болғандықтан, барлық термдерді қарастырып шығу - қымбат операция. Өнімділікті арттыру мақсатында кіріс деректің ... ... ғана ... ... терминдер (белгіленген шамадан жиірек кездесетін термдер) анықталады.
Алгоритм псевдокоды 2.9 - суретте ...
2.9 - ... Сығу ... бірінші жұмысының псевдокоды
Алгоритм екі параметрді талап етеді: ... ішкі ... ... белгілейтін samplingPercentage параметрі, және терм әйгілі түрінде қарастырылуы үшін қажетті кездесу минимумы threshold параметрі. Қосымша ... ... ету үшін ... ... ... ... деректер мен бұрыннан бар сөздік екеуі де болады. Маппер функциясы кейбір термдарды қарастырып болғаннан кейін, ... бұл ... ... жаңарудан кейінгі сөздікте бар-жоқтығын, яғни сандық идентификаторы бар-жоқтығын тексереді. Егер жоқ болса,функция жаңадан сан ... ... ... үшін ... ... ... тек ... бір диапазондағы сандарды ғана тағайындай алады. Осы мақсатпен біздің прототипте соңғы 13 бит ішкі саналыммен анықталады, ал ... ... ... функцияның өзіндік идентификатор санының биттерімен толтырылады.
Екінші жұмыс. Үштіктерді бөлу, термдерді кодтау.
Бұл жұмыстың мақсаты үштік-пайымдауларды бөлек ... бөлу және ... ... ... ... Бұл ... ... әр бөлігі үшін бір есепті қайталамас үшін қабылданды.Алгоритм 2.10 - суретте көрсетілген.
2.10 - ... Сығу ... ... ... ... ... ... маппер Hadoop үлестірілген файлдық жүйесінен (HDFS) әйгілі термдар мен сәйкес сандық идентификаторларын оқиды да негізгі ... ... ... ... ... саны ... ... сондықтан олар негізгі жадқа ешқандай мәселелісз сыйа алады. Маппер функциясы кіріс деректерді оқиды, кіріс дерек ... ... ... сөздіктегі терм болуы мүмкін. Егер кіріс дерек пайымдау болса, онда функция олардың әрқайсысына сандық идентификатор тағайындайды. Кері жағдайда, сөздіктегі ... ... ... ... есептеулер параллелді орындалатындықтан, сандық сидентификаторлар диапазоны әр есеп тек белгілі бір диапазондағы сандарды қолданатындай белгіленеді. Біздің прототипте идентификатор түрінде ... ... есеп ... ... биті 1 егер ... ... ... немесе 0, егер болмаса, соңынан санағанда келесі 2 бит пайымдаудағы орны (00 - егер субъект ... 01 - егер ... ... 10 - егер ... ... одан ... ... 8 бит - есептің ішкі саналымы бойынша пайымдау реті. Пайымдаудағы әр терм үшін ... ... бір ... ... жұп тағайындайды. Жұптар мәндері терм әйгілілігіне байланысты ерекшеленеді. Егер терм әйгілі болса, онда мәні жад ... ... ... ... ... Бұл жұптар қосымша өңделуді қажет етпейді және бірден шығарыла алады. Терм кэше табылмаса, онда функция мәні ретінде термнің өзін ... ... Екі ... да кілті ретінде пайымдау идентификаторы мен термнің пайымдаудағы орны және сөздікте бар-жоқтығын сипаттайтын ұзын бүтін сан ... ... ... мен термнің пайымдаудағы орны келесі жұмыста пайымдауларды қайта құрыстырғанда қажет болады.
Редюсерлар функциялары қабылданған ... ... ... ... кілттерінің соңғы биттері бойынша сөздікте бар-жоқтығын анықтайды. Егер бар болса, онда жұпты еш өзгертпей жібере береді. Егер жоқ болса, онда ... ... ... идентификатор тағайындалып, сөздікке терм мен өзінің идентификаторы енгізіліп, терм орнына сандық идентификаторы алмасытырылып жазылады. Жаңадан тағайындалатын сан ... ... ... ... 8 бит ішкі саналым реті, ортаңғы 8 бит алдыңғы өңдеген маппер идентификаторы (кілттен бөлініп ... ... ... ... ... ... идентификаторы болатын сан тағайындалады.
Үшінші жұмыс. Үштіктерді қайта ... ... ... ... ... оқып, пайымдаулар идентификаторларын қолдана отырып үштіктерді қайта ... ... 2.11 - ... ... - сурет. Сығу алгоритмінің үшінші жұмысының псевдокоды
Кіріс дерек жұптарының мәндерінде термдердің сандық форматтары берілген. Ал кілттерінде пайымдау идентификаторы мен ... ... орны ... ... функциялар кіріс жұптарды өңдеп, шығысқа кілт түрінде пайымдау идентификаторы мен мәні ... ... ... түрі мен оның ... ... ... санның бірігуін береді. Кілттері бірдей жұптар (пайымдау идентификаторлары) редюсерлар кезеңінде ... Әр ... дәл үш жұп ... Әр топ үшін ... функциясы жұп мәнінен термнің үштіктегі орнын анықтап, сәйкес орындарында кодтарын бір үштікке біріктіріп шығарады.
Бағдарламалауда қолданылған компьютер ... аса ... ... бұл ... ... идентификаторлар қолданылды, яғни идентификаторларға бөлінген байттар саны шектелінді. Қуаты жоғарылау машиналарда, кластерларда бағдарламаны іске асырғанда, ол мәндерді ұзартуға болады. ... ... сығу ... ... ... коды ... Б-да көрсетілген. Негізгі класы алгоритмнің үш жұмысының бірінен кейін бірі жұмыс істеуін қамтамасыз етеді. Бағдарлама Java ... Eclipse ... ... ортасында Jena Elephas - арнайы RDF деректермен жұмыс істеуге арналған Hadoop ... ... ... ... ... ... ... .rdf форматындағы бір документ (input_file) болады, ал шығысында екі документ - бірі сөздік (dictionary), екіншісі кодталған ... ... ... ... ... ... сөздік пен кодталған документ көлемдерін қосу арқылы табылады. Біздің жағдайда, мысал түрінде алынған ... ... 12Кb ... ... ... 2Kb, ... негізгі документ 4Kb. Нәтижесінде документ 50%-ға сығылды дегенді ...
2.6 ... ... параллелді қалпына келтіру алгоритмін жасау
Енді сығылған деректерді қайта қалпына келтіру алгоритмдерін қарастыру қажет. Олар сығу алгоритмдеріне ... ... ... ... термдар жеке өңделеді, пайымдаулар жеке термдергі бөлінеді, өңделеді (керісінше идентификаторлар бастапқы терм мәндерімен алмастырылады), және соңында пайымдаулар ... ... ... - ... ... ... ... сипатталған.
2.12 - сурет. Кодтау сөздігінің қалпына келтіру параллелді алгоритмінің сызбасы
Бірінші және екінші жұмыс. Әйгілі термдерді анықтау, сөздікпен бірігу.
Сығу алгоритмінің ... ... табу ... ... бірақ әйгілі термдер анықталғаннан кейін, олардың сөздіктегі сәйкес мәтінді қалыптары анықталып, шығысқа кілті ретінде термнің ... ... мәні ... ... түрі ... ... Hadoop үлестірілген файлдық жүйесінен (HDFS) оқылады. Екі жұмыстың ... 2.13 - ... ... - ... Қалпына келтіру алгоритмінің бірінші және екінші жұмыстарының псевдокоды
Біздің прототип ... ... және ... ... ... ... бір жұмыс ретінде орындалды. Маппер функция кіріс дерек пайымдауларын оқып, әйгілі ... ... ... ... әйгілі термдерді сөздіктен іздеп тауып, олардың сәйкес мәтіндік идентификаторларын анықтайды.
Үшінші жұмыс. Сөздікпен байланысу.
Сығудағы екінші ... ... бұл ... пайымдаулар жеке термдерге бөлініп, сөздіктегі әр термнің сәйкес мәндері табылады. Ерекшелігі сөздікті тек оқиды, ешқандай өзгеріс ... ... ... ... ... Кілт ... ... идентификаторлары мен үштіктегі терм орны сығудағыдай анықталады.
Төртінші жұмыс. ... ... ... ... ... ... қайталайды. Ерекшелігі нятижесінде болып табылады, шығыс дерек мәтіндік термдерден құралған үштік-пайымдаулар болып табылады.
Кодтау сөздігінің қалпына келтірудің параллелді алгоритмінің бағдарламасының ... ... коды ... В-да көрсетілген. Негізгі класы алгоритмнің төрт жұмысының бірінен кейін бірі жұмыс істеуін қаматамасыз етеді. Бағдарлама Java тілінде Eclipse интеграцияланған әзірлеу ... Jena Elephas - ... RDF ... ... ... ... Hadoop базасында жасалған кітапханасы қолданып әзірленді. Бағдарлама кірісінде екі документ - бірі сөздік (dictionary), екіншісі кодталған ... ... ... ал ... .rdf ... бір ... (output_file) болады.
Қорытынды
пәндік облысын таңдалды, білім қоры ретінде онтологиясы Protégé бағдарламалық қамтамасында құрылды. Онтология құру үшін ... ... ... ... ... ... байланыстары, қатынастары анықталды.
Онтология RDF/XML форматына келтірілді. Нәтижелік файл валидациясы үшін Sesame RDF ... ... және ... ортасында онтологияның документін жүктеліп, RDF моделімен жұмыс істелінді.
Кодтау сөздігінің сығу және қайта ... ... ... нұсқадағы алгоритмін Eclipse интеграцияланған ортасында Jena - арнайы RDF ... ... ... ... кітапханасы көмегімен жүзеге асырылды.
Кодтау сөздігі сығуының үлестірілген алгоритмін Hadoop-MapReduce технологиясы көмегімен Java тілінде жүзеге асырылды. ... ... ... қалпына келтіру үлестірілген алгоритмін Hadoop-MapReduce технологиясы көмегімен Java тілінде жүзеге асырылды. RDF деректермен жұмыс істеу үшін Hadoop-MapReduce ... ... Jena Elephas ... ... ... ... ашық ... Java кодты прототип бағдарлама реалистік сценарийлармен тиімділігін тексеру үшін Hadoop ... (2.6.0 ... ... ... Прототип бағдарламасы Java 1.8 көмегімен құрылды және орындалды. Бағдарлама тестілеу үшін Hadoop жалғанүлестірілген тәртібінде жүзеге асырылды. Тестілеуде кіріс ... ... ... ... ... ... онтология бойынша арнайы құрылған RDF файл болды. Файл ... ала ... ... ... ... ал кейінгі жұмыстарда келтірілген MapReduce алгоритмдерімен сығылды да, қайта қалпына келтірілді. Бағдарлама жұмысының дұрыстығы қалпына келтірілген деректердің бастапқы деректермен ... ... ... ... ... тізімі
Кітаптар және монографиялар:
* Чак "Hadoop в действии" - ", 2002 ж.(қаралған күні 10.02.15)
* Картузов А.В. "Программирование на ... JAVA"-6. ... күні ... және ... емес ... ... ... T, Hendler J, Lassila O. The semantic web. Scientific American May 2001; 284(5):34 - 43. ... күні ... Dean J, Ghemawat S. ... simplified data processing on large clusters. In Proceedings of the USENIX Symposium on Operating Systems Design & ... (OSDI), 2004; 137 - 147. ... күні ... Urbani J, Kotoulas S, Oren E, van Harmelen F. Scalable ... ... using ... In Proceedings of the ISWC'09, 2009. (қаралған күні 1.04.15)
* Urbani J, Kotoulas S, Maassen J, van Harmelen F, Bal H. OWL ... with WebPIE: ... the Closure of 100 Billion Triples. In ESWC (1), 2010; 213 - 227. ... ... under ... (қаралған күні 1.04.15)
* Abadi D, Marcus A, Madden S, Hollenbach K. Scalable semantic web data management using vertical partitioning. In ... of the 33rd ... ... on Very Large Data Bases, ACM 2007. VLDB ... ... of Vienna, Austria, ... 23-27, 2007; 411 - 422. ISBN ... (қаралған күні 1.04.15)
* Weiss C, Karras P, Bernstein A. Hexastore: sextuple indexing for semantic web data management. Proceedings of the VLDB ... Archive 2008; ... - 1019. ... күні ... ... J, Kampman A, Van Harmelen F. Spinning the Semantic Web: Bringing the World Wide Web to Its Full ... [outcome of a Dagstuhl ... In Spinning the Semantic Web, Fensel D, Hendler JA, ... H, Wahlster W (eds). MIT Press, 2003; 197. ... DBLP, ... күні ... Kiryakov A, Ognyanov D, Manov D. OWLIM -- a ... semantic repository for OWL. In Proceedings of the Conference on Web Information Systems Engineering (WISE) ... 2005; 182 - 192. ... күні ... ... JD, ... C, ... MA. RDF compression: basic approaches. In WWW '10: Proceedings of the 19th International Conference on World wide web. ACM: New York, NY, USA, 2010; 1091 - 1092. ... күні ... Lee K, Son JH, Kim G-W, Kim M-H. Web document ... by ... URI ... in RDF and OWL data. In ICUIMC, 2008; 163 - 168. ... күні ... Michel BS, ... K, Reiher P, Zhang L. URL ... and ... in adaptive web caching. INFOCOM 2000. ... Annual Joint ... of the IEEE Computer and Communications Societies. ... IEEE, 2000; 670 - 678. ... күні ... Ye Y, Cosman P. ... design for text image compression with JBIG 2. IEEE Transactions on Image Processing 2001; 10(6):818 - 828. ... күні ... Nagumo H, Lu M, Watson K. Parallel ... for the static dictionary compression. Data Compression Conference, 1995. DCC '95. ... 1995; 162 - 171. ... күні ... Zobel J, Heinz S, Williams HE. ... hash tables for accumulating text vocabularies. Information Processing Letters 2001; ... - 277. Elsevier Science. ... күні ... Heinz S, Zobel J, Williams HE. Burst tries: a fast, ... data ... for string keys. ACM ... on ... Systems 2002; 20:192 - 223. (қаралған күні 1.04.15)
* Yang H, Dasdan A, Hsiao R, Parker D. Map-reduce-merge: simplified ... data ... on large ... In Proceedings of the ACM SIGMOD International Conference on Management of Data. ACM 2007: Beijing, China, June 12-14, 2007; 1040. ISBN ... ... күні ... Olston C, Reed B, ... U, Kumar R, Tomkins A. Pig Latin: a ... language for data ... In ... of the ACM SIGMOD ... ... on Management of Data, SIGMOD 2008. ACM 2008: Vancouver, BC, Canada, June 10-12, 2008; 1099 - 1110. ISBN ... ... күні ... Thusoo A, Sarma JS, Jain N, Shao Z, Chakka P, Anthony S, Liu H, Wyckoff P, Murthy R. Hive: a ... solution over a ... ... ... of the VLDB Endowment 2009; 2(2):1626 - 1629. VLDB Endowment. ... күні ... J. Urbani, S. ... J. Maassen, F. Van ... H. Bal. OWL ... with WebPIE: ... the closure of 100 billion triples //The Semantic Web: Research and ... P. 213-227. ... күні ... J. Urbani, J. Maassen, N. Drost, F. ... H. Bal. Scalable RDF data compression with MapReduce // Concurrency and ... and ... 25 (1), P.24-39. ... күні 1.04.15)
* Jorge Gonzalez Lorenzo, Jose Emilio Labra Gayo, Jose Maria Alvarez Rodriguez. Applying ... to ... ... ... on Large RDF Graphs // ... in Computer and Information Science Volume 278, Springer, 2013. P. 601-611. (қаралған күні 1.04.15)
* Miguel A. Martínez-Prieto, Javier D. ... Rodrigo ... Querying RDF ... in Compressed Space. Spain, 2012. (қаралған күні 1.04.15)
Интернет - ... ... ... ... ... Мақала: http://groups.csail.mit.edu/haystack/.
* Мақала: http://w3.org/2004/OWL.
* Мақала: http://rdf4j.org/sesame/tutorials/getting-started.docbook?view.
* Мақала: http://hadoop.apache.org/.
* Мақала: http://jena.apache.org/.
* Мақала: https://github.com/apache.
* ... ... ... ... ... http://data.gov.uk.
* Мақала: http://w3.org/TaskForces/LinkingOpenData.

Пән: Информатика
Жұмыс түрі: Курстық жұмыс
Көлемі: 33 бет
Бұл жұмыстың бағасы: 700 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
Верификация инфрақұрылымының аналитикалық моделі5 бет
Көркем шығармалардағы кейіпкерлердің образдары4 бет
Леонтьев – тарихы, теориясы, экономика моделі13 бет
С++ қарапайым функциялар26 бет
HTML синтаксисі14 бет
PHP синтаксисінің негіздері13 бет
Ассемблер тілінің синтаксисі, алфавиті14 бет
Газет бетіндегі атаулардың синтаксисі67 бет
Маркетингтің ресейлік моделінің қазақстандық модельден айырмашылығы12 бет
Мақта саласындағы агроқұрылымдарды оңтайландыру (ірілендіру) және типтік шаруашылық моделінің экономикалық негіздері40 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь