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
А қосымшасы
Б қосымшасы
В қосымшасы
Г қосымшасы
Негізгі бөлім 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)
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)
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 38 бет
Таңдаулыға:
Жұмыс түрі: Дипломдық жұмыс
Тегін: Антиплагиат
Көлемі: 38 бет
Таңдаулыға:
Мазмұны
Кіріспе 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 ресурс сипаттау ортасы моделі көмегімен жасалған облыстардың кең диапазонында ақпараттарды сипаттайтын көптеген миллиардтаған пайымдауларға ие, бұл облыстар диапазоны медико-биологиялық ақпараттан мемлекеттік ақпаратқа дейін болады. Бірмәнділікті қамтамасыз ету үшін, URI ұғым идентификациясында жиі пайдаланылады. Терминдар URI ұзын тізбектерінен құралатындықтан, Semantic Web қосымшалардың көбісі, мысалы, RDF сақтау құралдары, кеңістікті сақтау және өнімділік арттыру үшін пайымдауларды компактілеу көрсетілімдерімен алмастырады. Деректердің осы үлкен көлемдерін ең жақсы өңдеу және жоғары өнімділік үшін RDF қосымшалар деректерді сығу тәсілдерін қолдануы қажет. Өкінішке орай, кіріс деректердің үлкен көлемдеріне байланысты сығу күрделі есеп болып отыр. Сондықтан MapReduce үлестірілген алгоритмдері RDF деректердің үлкен көлемдерін сығу және қайта қалпына келтіруде аса тиімді.
Жаңалығы
Семантикалық Web-та берілген деректер көбіне үлкен көлемде болады, ал үлкен көлемді деректер өңдеу көп уақыт шығынын келтіруі мүмкін. Сондықтан казіргі кезде дамып келе жатқан параллельді бағдарламалау, соның ішінде Hadoop-MapReduce технологиясын қолдану үлкен көлемді деректерді тиімді әрі жылдамырақ өңдеуге мүмкіндік береді. Соның ішінде жаңадан дамып келе жатқан Семантикалық Веб негізі болып табылатын RDF деректерді сығу және қайта қалпына келтірудің жаңа үлестірілген әдісі осы жұмыста жүзеге асырылды.
Тәжірибелік маңыздылығы
Бұл дипломдық жұмыс тәжірибелік маңыздылығы - бағдарламаланған әлсіз құрылымдалған деректерді семантикалық өңдеу мысалы, яғни деректердің RDF форматында берілген көлемін Hadoop-MapReduce технология көмегімен сығу және қайта қалпына келтірудің бағдарламалық реализациясы.
Қазіргі жағдайды бағалау
Интернет - қашан да қолданыста болған ақпараттық репозиторийлердің ең ірісі, әрі оның мазмұны әрдайым өсіп келеді және ол түрлі тілдерде, білімнің айтарлықтай барлық салаларында берілген. Бірақ ақырында осы бүкіл мазмұннан негізгі мағына табу қиындап барады. Іздеу жүйелері белгілі бір сөздерден тұратын ақпаратты табуға қабілетті, бірақ оның әрдайым қажетті ақпарат болуы екіталай. Әрқашан белгілі бір элемент қалдырылып кетеді. Іздеу мазмұнның семантикалық мағынасына немесе парақ туралы ақпаратқа емес, парақтардың мазмұнына негізделген. Семантикалық интернет құрылысымен бірден ол интернеттің бүкіл мазмұнын, ақпараттың әрбір элементінің сипаттамасын және осы элементтердің семантикалық мағынасының қамтамасыз етілуін белгілеуге мүмкіндік беретін болады. Осылайша іздеу жүйелері қазіргі жағдайымен салыстырғанда әлдеқайда тиімдірек болады, ал қолданушылар өздеріне қажетті ақпараттың нақ өзін табатын болады. Түрлі қызметтер көрсететін ұйымдар оларды ерекше мағынамен индекстеуге қабілетті. Ал қолданушылар интернет негізінде бағдарламалық құралдарды пайдалана отырып, осы қызметтерді жедел түрде табуға және оларды өз пайдасына немесе басқа қызметтермен сәйкестілікте қолдануға қабілетті болады.
Қазіргі кезде Веб-тің орнын Семантикалық Веб ығыстыра бастауда. Семантикалық Веб толық өз орнын алып, нық отыруы үшін, оның өнімділік мәселелерін шешу қажет. Сол мәселелердің бірі болып, Семантикалық Веб көп бөлігін құрайтын RDF деректер көлемінің тым үлкендігі, желі арқылы тасымалдау қиындығы, өңдеу жұмыстарының көп уақыт алуы. Нәтижесінде RDF қосымшалардың жұмыс өнімділігі төмендейді, мәселе шешімі ретінде Hadoop-MapReduce технологиясы көмегімен деректерді сығу және қайта қалпына келтірудің параллелді тиімді нұсқасы ұсынылып отыр.
Мақсаты
Семантикалық Веб негізі болып табылатын әлсізқұрылымдалған RDF деректерді Hadoop-MapReduce технологиясы көмегімен сығу және қалпына келтіруінің параллельді алгоритмінің бағдарламасын дайындау.
Есептері
1. Белгілі бір пәндік облыс таңдап, сол облысқа білім қорын жасау, дәлірек айтқанда, RDF моделінің синтаксисі пәндік облысын таңдау, білім қоры ретінде онтология құру.
2. Онтологияны RDF форматқа келтіру қажет. Арнайы бағдарламалық қамтамасында тексеру.
3. Кодтау сөздігінің сығу және қайта қалпына келтірудің тізбектелген нұсқадағы алгоритмін жүзеге асыру.
4. Кодтау сөздігі сығуының үлестірілген алгоритмін Hadoop-MapReduce технологиясы көмегімен Java тілінде жүзеге асыру.
5. Кодтау сөздігі қайта қалпына келтіру үлестірілген алгоритмін Hadoop-MapReduce технологиясы көмегімен Java тілінде жүзеге асыру.
Дипломдық зерттеу обьектісі
Семантикалық Веб негізі болып табылатын RDF әлсізқұрылымдалған деректерін өңдеу, дәлірек айтқанда сығу және қайта қалпына келтіру алгоритмдері.
Теориялық және методикалық негізі
Әлсізқұрылымдалған деректер семантикалық талдау кезінде RDF моделіне келтіріледі. Әдетте бір пәндік облысқа қатысты RDF деректер көлемі өте үлкен болады, ал деректерді өңдейтін қосымшалар деректер көлемін азайту үшін сығу әдістерін пайдалануы қажет болып отыр. Бұл дипломдық жұмыс негізі RDF деректерді Кодтау сөздігі әдісімен сығу және қайта қалпына келтіру алгоритмін Hadoop-MapReduce технологиясы көмегімен параллельді түріне келтіріп жүзеге асыру.
Дипломдық жұмыс жазылуының тәжірибелік базасы
Онтология Protеgе білім қорын құру ортасында жасалынды. RDF деректер Sesame RDF деректерді өңдеу және сақтау ортасында өңделді. Сығу және қалпына келтіру бағдарламасы Java тілінде Eclipse интеграцияланған әзірлеу ортасында Jena - арнайы RDF деректермен жұмыс істеуге арналған кітапханасы және Jena Elephas - Jena-ның Hadoop-қа арналған кітапханасын қолдану арқылы әзірленді. Үлестірілген параллелді есептеулер Hadoop MapReduce ортасында жалған үлестірілген тәртіпте жүзеге асырылды, яғни бағдарлама кластер үшін жазылып, бірақ бір машинада ғана орындалды.
Негізгі бөлім
1. Теориялық бөлімі
1.1 Әлсізқұрылымдалған деректер
Әлсізқұрылымдалған деректер (жартылай құрылымдалған немесе нашар құрылымдалған деректер) -- реляциялық деректер қорының моделіндегі кестелер мен қатынастардың қатаң құрылымына сәйкес келмейтін болса да, семантикалық элементтерді бөлетін және деректер тізімінде жолдар мен жазбалардың иерархиялық құрылымын қамтамасыз ететін тегтер мен басқа маркерлері бар, құрылымдалған деректер қалыбы. Сонымен, мұндай деректер түрін сызбасыз (schemaless), ал құрылымын -- өзін-өзі сипаттайтын деп атауға болады.
World Wide Web-та берілген деректердің көп бөлігін әлсіз құрылымдалған, яғни қандай-да бір семантикалық құрылымы бар, бірақ деректер сызбасына ұқсайтын олардың құрылымдары туралы ақпарат олардың өзінде болуы мүмкін деректер түрінде қарастырған жөн.
Басқа да көзқарастар бойынша нақ деректер сызбасының маңызы әлсізқұрылымдалған деректердің дәстүрлі деректерден негізгі кілттік айырмашылығы болып табылады. Әлсізқұрылымдалған деректердің ерекшеліктерін сипаттайтын кілттік ережелерді атап өтуге болады:
1. Деректердің тұрақты сызбасы болмайды;
2. Деректер өзі мен олардың сызбасын арасында анық айырмашылығы жоқ;
3. Қатал типизация жоқ;
4. Деректер сызбасын өзгерту деректерге өзгертулер енгізу тәрізді қалыптасқан операция болады;
5. Деректер көлемі олардың сызбасының күрделілігімен салыстырымды;
6. Деректер сызбасы көрсетуші емес, сипаттаушы болып табылады, және де деректер өзінен алынуы мүмкін;
7. Сұраныстарды құру үшін деректер сызбасын толық білу қажетті емес, деректер сызбасын толық ескермейтін сұраныстар да болу мүмкін.
Әлсізқұрылымдалған деректерде бір класқа жататын бүтіндіктерде түрлі атрибуттар болуы мүмкін.Атрибуттар тәртібі де маңызды емес.
Әлсізқұрылымдалған деректер зерттелуі керек маңызды объект болып табылады бірнеше себепке байланысты:
Веб тәрізді деректер негіздеріне деректер қорына сияқты қатынау ыңғайлы, бірақ Веб-ті қандай-да бір анықталған деректер сызбасына келтіруге болмайды;
Түрлі деректер қорлары арасында деректер алмасу үшін ең икемді фозматқа ие болғаны жөн;
Құрылымдалған деректермен жұмыстың өзінде навигация мақсатымен оларды әлсізқұрылымдалған деректер түрінде көрсетілімі ыңғайлы.
Сонымен, әлсізқұрылымдалған деректер жиірек кездесетін болды, өйткені интернет дамуымен толықтексттік документтер және деректер қорлары үшін ақпараттық дәнекерлеуші сапасында қызмет ететін деректер форматы қажет. Әлсізқұрылымдалған деректерді объектіге-бағытталған деректер қорында жиі кездестіруге болады.
1.2 Онтологиялар
Онтологиялар (гр. on (ontos) -- болмыс) семантикалық желінің негізін құрайды және қандай да бір пәндік облыстың ұғымдары мен олардың арасындағы қатынастардың қандай да бір формалды тілдегі сипаттамасы болып табылады. Онтологиялар көбіне тезаурустар мен таксономияларға ұқсас болып келеді, бірақ шынымен олармен салыстырғанда кең болып табылады, өйткені сипатталатын деректердің құрылымын сипаттайтын қосымша құралдармен қамтамасыз етіледі. Онтологиялар өз мағынасында - ақпарат туралы ақпарат болғандықтан, олар метадеректер болып табылады.
Адамдар немесе бағдарламалық агенттер бірге қолдануында, пәндік облыстағы білімді жинақтау және қайта қолдану мүмкіндігі үшін, қатаң құрылымдалған деректермен ғана емес, онтологиялармен де жұмыс істейтін моделдер мен бағдарламалар жасау үшін, пәндік облыстағы білімді талдау үшін және т.б. мақсаттарда онтологиялар жасалынып және қолданыла алады.
Онтологиялардың көбісінің ортасында, әрқайсысында ағымдағы класпен салыстырғанда дәлірек ұғымдарды келтіретін ішкі кластары бар болуы мүмкін кластар болады. Онтологияның барлық кластары бір немесе бірнеше иерархия құрып пәндік облыс ұғымдарын сипаттайды. Кластарда ұғымдардың қасиеттерін және класс негізінде жататын ішкі құрылымын сипаттайтын атрибуттары болу мүмкін. Барлық ішкі кластар аталық кластар атрибуттарын мұрагерлікке алады. Кластың әр атрибутында атымен қатар, мән типі, рұқсат етілген мәндер және мәндер саны (қуаты) болады. Атрибут мән типі атрибуттың мәнінің қандай типтері болуы мүмкіндігін сипаттайды, мысалы, жол немесе бүтін сан. Атрибуттың тек белгілі бір кластарды немесе кластардың белгілі бір экземплярларын ғана қабылдайтын мән шектеулері де болады. Атрибут рұқсат етілген мәндері атрибутқа шектеулер қояды, бірақ тип шектерінде орындалады, мысалы, бүтін сандардың берілген диапазоны. Атрибут қуаты ол қанша мәнге ие бола алатындығын көрсетеді: тек бір мән - бірлік қуат немесе мәндердің кез келген саны - көптік қуат. Онтологияда класс экземплярлары болуы мүмкін, яғни барлық атрибуттарының мәндері орнатылған кластар болуы мүмкін.
Онтологиялар білім көрсетілімі, білім инженериясы, ақпараттық ресурстар семантикалық интеграциясы, ақпараттық іздеу және т.б. салаларда жеткілікті түрде кең таралды. Жасанды интеллект ғылымында онтология - бұл пәндік облыс концептуализациясының спецификациясы, немесе қарапайымдатып айтқанда, терминдар арасында қатынастарды формалды беретін документ немесе файл. Бұл өзіндік тұрғыда пәндік облыстың ұғымдар сөздігі және осы ұғымдар мағыналарына қатысты анық айқындалған пікірлер жиыны болып табылады.
Көбіне онтология - кейбір анықталған түрдегі қатынастармен байланысқан ұғымдар иерархиясы түрінде көрсетіледі. Мұндай онтологиялар анықтамалары түрлі классификацияларда қолданылады. Дамыған онтологиялар логика тілінің құралдарымен қалыптастырылады және логикалық қорыту мүмкіншіліктеріне ие болады. Мысал түрінде 1.1 - суретте үйрету контексті атты кішігірім пәндік облыстың онтологиясының иерархиясын көруге болады.
1.1 - сурет. Үйрету контексті пәндік облысының онтологиясы
Ең қарапайым жағдайда онтологияларды Internet-те іздеу дәлдігін арттыру үшін қолдануға болады - іздеу жүйесі ізделінетін ұғым мәтіндерде жай кездескен емес, ал дәл мағынасында ескерілетін сайттарды ғана көрсетететін болады.
OWL веб-онтологиялар тілі - бұл веб-онтологияларды анықтайтын және көрсететін тіл. OWL формалды семантикасы онтология көмегімен логикалық салдарды қалай алуға болатынын сипаттайды, яғни онтологияда тікелей көрсетілмеген, бірақ оның семантикасынан шығатын факт алуды сипаттайды. Бұл салдар бір документке немесе OWL-дың белгілі бір механизмдерін қолдану арқылы комбинацияланатын бірнеше үлестірілген документтерге негізделіп алынуы мүмкін.
OWL веб-онтологиялар тілін W3C Web Ontology (WebOnt) жұмыстық тобы әзірлейді. OWL XMLWeb стандарт болып табылады, бірақ одан айырмашылықтары бар.
Онтологиялардың XML схемаларынан ерекшелігі: бұл білім көрсетілімі, ал хабарламалар форматы емес. Веб-стандарттардың көбісі хабарламалар стандарттары және хаттамалар спецификацияларының комбинациясынан тұрады. Бұл форматтарға эксплуатациялық семантика берілген, мысалы: СатыпАлуТапсырыс хабарламасын алғанда, теңге Мөлшерін СатыпАлушыЕсепшотынан СатушыЕсепшотына жіберу және Тауарды босату керек. Бірақ спецификация берілген транзакция контекстінен тыс операцияларды қолдамайды. Мысалы, ереже бойынша, Тауар аты Шардоне болғандықтан, ол сонымен қатар ақ вино болатынын қорытындылай алатын механизм жоқ.
OWL онтологияларының артықшылықтарының бірі олар туралы пайымдай алатын құралдар қолжетімділігі болып табылады. Құралдар берілген пәндік облыстың өзіне тән емес жалпы қолдауды қамтамасыз етеді. Айқын және жұмыс істеуге қабілетті пайымдау жүйесін құру - қарапайым іс емес. Онтология құру қолжетімділігі жоғарылау.
OWL негізіндегі Web онтологиялық тілінің компоненттері.
OWL негізгі компоненттері кластарды, қасиеттерді және жеке элементтерді қамтиды.
Кластар
Кластар - бұл OWL онтологиясының негізгі блоктары. Класс - бұл домендегі концепция. Әдетте, кластар таксономиялық иерархияны құрады (яғни класс асты - класс үсті жүйесі).
Кластар owl: Class элементі арқылы анықталады. OWL тілінде алдын-ала анықталған екі класс бар: owl:Thing және owl:Nothing. Бұлардың біріншісі әлдеқайда ортақ болып табылып, бәрін қамтиды, екіншісі - бос класс. Қолданушымен анықталатын кез-келген класс owl:Thing класының класс асты және owl:Nothing класының класс үсті болып табылады. Банк ісі саласындағы кластардың мысалдары Шот (Account) немесе Клиент (Customer) кластарын қамтуы мүмкін.
OWL класының мысалы:
owl:Class rdf:ID="SavingsAccount"
rdfs:subclassOf rdf:resource="#Account"
owl:Class
Мысалдағы код SavingAccount элементі Account класының класс асты болып табылатын класс екенін көрсетеді.
OWL кластарды сипаттаудың негізгі алты тәсілін қолдайды. Ең қарапайымы - бұл атауы (named) бар класс. Басқа тұрпаттары - бұл қиылыстар (intersection), бірлестіктер (union), шектеуліктер (restrictions) кластары және аударымдар (enumerated) кластары. Мысалда осы сыныптарды сипаттау тәсілдерінің екеуі берілген: SavingAccount шектеуліктер класын Account деп аталатын кластың класс асты ретінде анықтайды. W3C OWL кластарының қасиеттерінің толық пакетіне сілтемені Ресурстар бөлігінен табуға болады.
Қасиеттер
Қасиеттер екі негізгі санатқа бөлінеді:
объекттік қасиеттер (Object properties), бұлар жеке элементтерді өзара байланыстырады;
деректер типтік қасиеттер (Datatype properties), бұлар жеке элементтерді бүтін сандар, құбылмалы үтірі бар сандар және жолдар тәрізді деректер типтерінің мағыналарымен байланыстырады.
OWL деректердің типтерін анықтау үшін XML жүйесін қолданады. Қасиеттер доменді және сонымен байланысты кейбір саланы қамтуы мүмкін. Кез-келген қасиет келесі санаттардың біріне кіреді:
функционалдық: кез-келген объект үшін қасиет тек бір мағына ғана қабылдауы мүмкін (мысалы, адамның жасы, бойы және салмағы);
кері-атқарымдық: түрлі екі жеке элемент бірдей мағынаға ие бола алмайды. Мысалы, кез-келген адамның банк шотының бірегей нөмірі болады немесе SSN (social security number);
симметриялық: егер қасиет А элементін В элементімен байланыстырса, онда бұдан оның солайша В элементін де А элементімен байланыстыратыны туралы қорытынды жасауға болады. Симметриялық қасиеттердің мысалдары ағасы (әпкесі) болып табылады немесе сондай сияқты деген тәрізді мағыналарды қамтиды;
транзитивтік: егер қасиет А элементін В элементімен байланыстырса, ал В элементі С элементімен байланыстырса, онда ол А элементін С элементімен де солайша байланыстырады деп болжауға болады. Мысалы, егер А В-дан жоғары болса, ал В С-дан жоғары болса, онда А С-дан жоғары.
Кластар мен қасиеттерге түрлі шектеулер қойылуы мүмкін. Мысалы, көпшілік қуаттылығының шектеулері класс немесе жеке элемент қатыса алатын байланыстар санын көрсетуі мүмкін.
1.3 RDF моделі
Семантикалық Web технологияларына келесілер кіреді:
аттардың жаһандық тәсімі (URI);
деректер сипаттамасының стандарттық синтаксисі (RDF);
деректердің қасиеттерін сипаттаудың стандарттық тәсілдері (RDF схемасы);
деректердің объектілерінің арасындағы байланысты сипаттаудың стандарттық тәсілдері (Web онтологиялық тілінің көмегімен анықталатын онтология (Web Ontology Language)).
RDF -- желіде ақпарат көрсетіліміне арналған платформа, децентрленген әлемдегі білім көрсетілімінің тәсілі, Семантикалық Веб негізгі технологиясы. RDF -- бұл қатаң мағынада XML-формат емес, қарапайым метадерек емес.
RDF моделі 90-шы жылдар соңында пайда болды, ал 2001 жылы Scientific American журналында семантикалық тор кезеңі келгенін жариялаған (Semantic Web) Тим Бернерс Лидің әйгілі мақаласы [3] жарық көрді. Сол шақтан бастап желіде семантикалық өңдеумен байланысты барлық нәрсеге, соның ішінде RDF-ке де қызығушылық дереу артты, ал 2004 жылы RDF W3C комитетінің стандарты түрінде қабылданды. Стандарт бойынша семантикалық Веб ұғымдар стегінде RDF орнын 1.2 - суретте көруге болады.
1.2 - сурет. Семантикалық Веб ұғымдар стегі
RDF [32] негізі - бұл субьекттан обьектқа бағытталған байланысты сипаттайтын деректердің субъект-предикат-объект (үштік, triples) пайымдаулары түріндегі көрсетілімі. 1.3 - суретте үштік сызбасы бейнеленген.
1.3 - сурет. RDF үштігі
RDF спецификациясында желілік ресурстар арасында қатынастар құру қағидаты үш компонент болуын қарастырады - объект, атрибут және мәні (бастауыш - баяндауыш - толықтауыш классикалық сызбасының аналогы). Берілген тізбектің (триплет) әр элементіне идентификатор (URI) беріледі, оның көмегімен түйіндердің біреуіне сілтеу арқылы автоматты түрде тізбекті толығымен қайта қалыптастыруға болады. RDF тілінің триплеттерінен өзара байланысқан желі қалыптаса алады. RDF ақпаратты документте кодтау үшін URI-идентификаторлар қолданатындықтан, бұл әр ұғым Желіде табуға болатын бір анықтамаға бекітілуін қамтамасыз етеді.
RDF негізгі құрылыс блогы - объект - атрибут - мәні үштігі көбіне A(O,V) түрінде жазылады, мұндағы О - объект, А - V мәнді атрибут. RDF объекттер мен мәндер орындарын ауыстыруға рұқсат береді.
Бастапқыдан RDF-та объекттер, ұғымдар, қасиеттер және қатынастар сәлтемелері үшін XML тілінің синтаксисі және URI-идентификаторлар қолданылады. Бірақ RDF-сипаттамалардың басқа түрлері де бар, мысалы, үштіктер тізбегі түрінде:
hasName
("http:dwl.visti.net", "Dmitry Lande")
authorOf
("http:dwl.visti.net", "ISBN5845907640")
hasPrice
("ISBN5845907640", "$8").
Сонымен қатар, RDF үштік түріндегі кез келген RDF пікір объект немесе мән болуына рұқсат береді, яғни берілген объектте белгілі бір тип бар екендігін нұсқауға мүмкіндік береді, мысалы, "ISBN5845907640" - бұл rdf:type book, RDF сызбасында book анықтамасына сілтеу арқылы:
rdf:Description about="www.book.netISBN5845907640"
rdf:type rdf:resource="http:description.or gschema#book"
rdf:Description
RDF үштігің құрамының үш компоненті:
субъект: RDF URI сілтемесі немесе бос түйін болады;
предикат: RDF URI сілтеме болады;
объект: RDF URI сілтеме, литерал немесе бос түйін болады.
Субъекттер, объекттер және предикаттар идентификациясы үшін URL ұғымының жалпылануы болып табылатын Uniform Resource Identifier (URI) идентификаторы қолданылады. Мысалы:
субъектобъект:
http:localhostpublicationsartic lesJournal11940Article1.
Предикат:
http:purl.orgdcelements1.1ti tle.
RDF граф - RDF триплеттер жиыны.
RDF -- бұл кез келген білімді кішкентай бөліктерге бөлетін әмбебап әдіс. Ол семантикаға, яғни сол бөліктер мағынасына қатысты белгілі бір ережелерді тағайындайды. Идеяның негізі - кез келген фактты бір қарапайым әдіспен сипаттауға болады, әрі бұл компьютерлік бағдарламалар өңдей алатындай құрылымдалған түрде жүзеге асырылады.
1.4 - суретінде түйіндері субъектобъекттер болатын, байланыс доғалары предикаттар болатын, ал оларды анықтау үшін URI идентификаторы қолданылған RDF графының мысалы көрсетілген.
1.4 - сурет. RDF графының мысалы
Семантикалық Web маңызды компоненті - RDF методологиялық моделі, ал оның қызметі желілік ресурстар мен ақпарат арасындағы қатынастарды сипаттау болып табылады. XML тегдер өздігінен олардың мағыналық болмысынан үзілген. Сондықтан XML-мен параллелді түрде RDF стандарты жасалына бастады, яғни RDF Семантикалық Web архитектурасына сәйкес XML-документтер және логикалық қорытулар негізінде іздеу мен навигацияны қамтамасыз ететін құралдар арасындағы байланыстырушы түйін ретіндегі желілік ресурстар құрамын формалды сипаттайтын тіл болып табылады. RDF терминдер мен ұғымдар мағыналарын бағдарламалар өңдей алатын түрге келтіретін технология болып табылады. Бұл технология Web ресурстарды сипаттайтын метадеректер анықтамалары және қолдануын стандарттауға арналған, әрі ресурстардың өзіндегі деректерді көрсетіліміне арналған.
RDF спецификациясы кез келген ұғымдарды анықтауға мүмкіндік беретін тегтерді қолдайды (мысалы, электронды коммерцияда сәйкесінше баға мен есеп мәндері жазылатын "Price" және "Invoice" тегтерін қолдануға болады).
Ақпараттық ресурстар терминдар жиыны көмегімен сипатталады. Семантика, терминдардың өздерінің және терминдар сөздіктерінің мағыналары глобалды әмбебап URI атаулармен белгіленеді. RDF-та RDF-сызба деп аталатын терминдар сөздігі алдын ала қарастырылған, бұл сөздік RDF-пайымдауларда қандай терминдар қолданылуы мүмкіндігін және ресурстар қасиеттері туралы анықтайды, пәндік облыс ұғымдарының иерархиясын көрсетеді, әр термин сипаттамаларын суреттейді.
1.4 Hadoop-MapReduce технологиясы
Hadoop - Apache Software Foundation басқаруындағы ашық кодты жоба. Hadoop сенімді, масштабталатын және үлестірілген есептеулерде қолданылады, сонымен қатар деректер петабайттарын өзіне сыйғыздыра алатын жалпыға ортақ файлдар қоймасы түрінде қолданылуы мүмкін. Көптеген ұйымдар Hadoop-ты зерттеу және өнеркәсіптік мақсаттарда қолданады.
Hadoop екі кілттік компоненттен тұрады:
Hadoop үлестірілген файлдық жүйесі (ағыл. HDFS), ол Hadoop кластерінде деректер сақталуына жауап береді;
MapReduce жүйесі, ол кластердегі деректердің үлкен көлемін өңдеу және есептеуге арналған.
Бұл кілттік компоненттер негізінде Pig, Hive, HBase және т.б. тәрізді бірнеше ішкі жобалар жасалынған.
HDFS
HDFS, Hadoop үлестірілген файлдық жүйесі - бұл Hadoop қосымшасында қолданылатын деректерді сақтайтын негізгі жүйе. HDFS деректер блоктарын көп рет көшіріп, бұл көшірмелерді кластердің есептеуіш түйіндеріне үлестіреді, яғни есептеулердің жоғары сенімділігі мен жылдамдығын қамтамасыз етеді:
Деректер жүктелу уақытында бірнеше машиналар арасында үлестіріледі;
HDFS файлдарды регулярлы емес, ретсіз оқу емес, көбіне ағындық оқуды орындауға ықшамдалған;
HDFS жүйесіндегі файлдар бір рет жазылады және файлдарға ешқандай кез-келген жазбалар енгізу мүмкін емес;
Қосымшалар үлестірілген файлдық жүйе файлдарын Java бағдарламалық интерфейсі арқылы тікелей оқи алады және жаза алады.
MapReduce
MapReduce - бағдарламалау моделі және есептеуіш түйіндердің үлкен параллелді кластерларында деректің үлкен көлемдерін жоғары жылдамдықты өңдеуге арналған қосымшалар жазу каркасы:
есептердің автоматты түрде параллелденуін және үлестірілуін қамтамасыз етеді;
тұрақтылықты және жеке элементтердің істен шығуында жұмыс істеу қабілеттілігін сақтайтын кіріктірілген механизмдері бар;
бағдарламалаушылар үшін абстракцияның таза деңгейін қаматамасыз етеді.
MapReduce Google 2004 жылы қолданысқа енгізген үлестірілген бағдарламалау парадигмасы болып табылады. Модель екі қарапайым функция map және reduce бірігуінен құралған, Lisp тәрізді функционадық тіліндегі map және reduce функцияларына ұқcаc. MapReduce бағдарламалау үлгісі өте тиімді болып табылады, ол үстеме аз шығындарымен параллелизмнің жоғары дәрежесін береді. Бұл бағдарламалау үлгісінде барлық ақпарат key, value (кілт, мән) жұбы түрінде реттеліп кодталады. MapReduce тапсырмасының жұмыс үрдісі мынадай: біріншіден, мар функциясы кірісті өңдеп, key2, value2 басқа жұпты шығысына береді. Ал reduce функциясы кілттерге байланысты қандай да бір топтық операцияларды орындап жұптардың өңделген key3, value3 түріндегі нәтижелерін шығысқа береді. Маппер және редюсер функцияларының кіріс деректерді өңдеу жұмысын қысқаша көрсететін сұлба 1.5 - суретте бейнеленген.
1.5 - сурет. Маппер және редюсер функцияларының кіріс мәліметті өңдеу ерекшеліктері
Hadoop стандарттық орнатылуы демондардың жиынынан немесе түрлі жүйелік серверлердегі резиденттік бағдарламалардан тұрады. Кейбір демондар бір серверде, басқалары бірнеше серверде ашылуы мүмкін. Қолданыстағы демондар төменде көрсетілген:
NameNode. Hadoop-та үлестірілген сақтау әрекетіне (HDFS) де, үлестірілген есептеулерге де (MapReduce) бастыбағынышты архитектурасы қолданылады. NameNode демоны DataNode бағынышты демондардың арасындағы енгізушығару төмен деңгейлік тапсырмаларын үлестіретін HDFS басты демоны болып табылады. Ол файлдардың блоктарға ұсақталу есебін жүргізеді, осы блоктардың қандай түйіндерде жатқаны туралы ақпаратты сақтайды және үлестірілген файлдық жүйенің жалпы күйін қадағалап отырады. Name Node демоны DataNode немесе TaskTracker сияқты дубляжданбайды;
DataNode. Үлестірілген файлдық жүйенің жұмысын орындайды: HDFS блоктарының салыстырып оқылуы және олардың локалдық файл жүйесіндегі физикалық файлдарға жазылуы қамтамасыз етеді;
Secondary NameNode (SNN) - HDFS кластерінің күйін мониторингтеумен айналысатын көмекші демон. Жоғарыда NameNode демонының дубдяждалмайтыны айтылды, осылайша Hadoop жалпы бас тарту нүктесі болып табылады. SNN шығаратын суреттер бос тұрып қалу уақытын азайтып, деректердің жоғалуын минимумға жеткізуге мүмкіндік береді;
JobTracker - Hadoop пен клиенттік қосымша арасындағы аралық буын болып табылады. Кластерге код беру кезінде JobTracker орындау жоспарын құрады, яғни қандай файлдарды өндейтінін анықтап, түрлі тапсырмаларға түйіндер тағайындайды және осы тапсырмалардың орындалу барысын қадағалайды. Hadoop кластерінде тек қана бір демон болуы мүмкін - JobTracker;
TaskTracker. Сақтау демондары сияқты есептеулер демондары да бастыбағынышты архитектураның базасына құрылған. JobTracker - MapReduce тапсырмаларының орындалуын ұйымдастыратын басты демон болса, TaskTracker демондары бағынышты түйіндерде жеке тапсырмалардың орындалуын басқарады.
Hadoop архитектурасының демондардың өзара байланысы 1.6 - суретте бейнеленген.
1.6 - сурет. Hadoop архитектурасы
1.6 - суретте кластердің барлық түйіндері үшін Namenode жалғыз, ал деректер демоны Datanode үлестірілгендігі айқын көрініп тұр.
1.5 Кодтау сөздігі
Деректерді сығу (data compression) -- тасымалдаушылардағы (қатты магниттік диск, дискет, магнит таспасы) деректер жазбасының көлемін (өлшемін) қысқартудың техникалық әдісі; көбінесе кодтауды (қайталанатын сөздерді, фразаларды, символдарды) қолданатын әртүрлі әдістермен жүзеге асырылады. Деректерді сығудың екі тәртіптеме тобын бөліп көрсетуге болады: статистикалық және динамикалық; сондай-ақ физикалық және логикалық сығу; симметриялық және ассиметриялық; бейімделген, жартылай бейімделген және бейімделмеген кодтау; шығынсыз, шығынмен және аз шығынмен сығу.
Логикалық сығу (logical compression) -- мұнымен сәйкестілікте әліпбилік, сандық және екілік символдардың бір жиынтығы басқа сөзбен алмастырылатын әдістеме. Дегенмен бұл орайда алғашқы деректердің мағынасы сақтала береді. Мысал ретінде сөз тіркесінің аббревиатурамен (қысқармамен) алмасатынын келтіруге болады. Логикалық сығу символдық немесе жоғарырақ деңгейде жасалады және тек қана алғашқы деректердің мазмұнына негізделген. Логикалық сығу суреттер үшін қолданылмайды.
Сөздікті қолдану арқылы сығу әдісі деректерді сөздерге ұсақтау және оларды сөздіктегі индекстерге ауыстыру болып табылады. Бұл әдіс - деректерді сығудың қазіргі кезде әлдеқайда көп таратылған тәсілі. RLE табиғи жалпылау болып табылады. Жүзеге асырудың әлдеқайда көп таратылған нұсқасында сөздік біртіндеп сығылу процесінде деректердің бастапқы блогындағы сөздермен толтырылады.
Сөздіктің көлемі кез-келген сөздік әдісінің негізгі параметрі болып табылады. Сөздік неғұрлым үлкен болса, тиімділігі соғұрлым жоғары болады. Алайда біртекті емес деректер үшін тым үлкен көлем зиянды болуы мүмкін, себебі деректер тұрпатының кенеттен өзгеруі кезінде сөздік көкейкесті емес сөздермен толып кетеді. Әдістер деректердің нәтижелі жұмысы үшін сығу кезінде қосымша, атап айтқанда сөздіктің бастапқы деректері үшін қажетті жадыдан біршама көбірек жад қажет болады. Қалпына келтірудің оңай және тез рәсімі сөздік әдістерінің маңызды артықшылығы болып табылады. Бұл орайда қосымша жадының қажеті жоқ. Деректерге жедел түрде қожетімділік қажет болған жағдайда мұндай ерекшелік өте қажет.
Сөздікті қолдану арқылы сығу әдістеріне келесі алгоритмдер кіреді: LZ7778, LZW, LZO, DEFLATE, LZMA, LZX, ROLZ.
Семантикалық Веб [3] RDF ресурс сипаттау ортасы моделі көмегімен жасалған облыстардың кең диапазонында ақпараттарды сипаттайтын көптеген миллиардтаған пайымдауларға ие, бұл облыстар диапазоны медикалық-биологиялық ақпараттан [33] мемлекеттік ақпаратқа [34] дейін болады. Бірмәнділік қамтамасыз ету үшін, URI жиі ұғым идентификациясында пайдаланылады. Терминдар URI ұзын тізбектерінен құралатындықтан,Semantic Web қосымшалардың көбісі, мысалы, RDF сақтау құралдары,кеңістікті сақтау және өнімділік арттыру үшін пайымдауларды компактілеу көрсетілімдерімен алмастырады. Деректердің осы үлкен көлемдерін ең жақсы өңдеу және жоғары өнімділік үшін RDF қосымшалар деректерді сығу тәсілдерін қолдануы қажет. Өкінішке орай, кіріс деректердің үлкен көлемдеріне байланысты сығу күрделі есеп болып отыр. Сондықтан MapReduce үлестірілген алгоритмдері RDF деректердің үлкен көлемдерін сығу және қайта қалпына келтіруде аса тиімді. Деректерді сығуда ең жиі қолданылатын тәсілдерінің бірі болып Кодтау Сөздіктері табылады.
Кодтау сөздіктерінде деректер тізбегіндегі әр элемент сандық идентификатормен ауыстырылады. Сәйкес сөздікті қолданып деректерді ағымдық сығылмаған қалпына қайта келтіруге болады. Өзінің қарапайымдылығына байланысты бұл тәсіл түрлі облыстарды пайдаланылады.
Біздің жағдайда кодтау сөздігінің сонымен қатар тағы бір артықшылығы бар: сығылған деректермен қосымша көмегімен манипуляцияларды жасай беруге болады. Gzip немесе bzip2 тәрізді дәстүрлі әдістер сығылған деректерді жасырып тастайды, сондықтан ол деректерді қайта қалпына келтірусіз оқу мүмкін емес. Сығылған, яғни кодталған деректермен сұраныстар жасап, тағы да басқа манипуляцияларды жасау [24] жұмысында қарастылған. Бұл жұмыста авторлар кодтау сөздігі көмегімен сығылған деректермен сығылмаған бастапқы қалыптағы деректермен жұмыс істегендей өңдеуге болатындығын дәлелдеген.
Бір машинаға арналған кодтау сөздіктері Hexastore, 3Store және Сезам тәрізді RDF сақтау жүйелерінде ақпаратты тиімдірек сақтау үшін [5-7] пайдаланылады. asWebPIE [4] және OWLIM [8] тәрізді логикалық қорыту жүйелері де деректерді осы тәсілмен сығады. RDF деректерге қолданыла алатын сығу тәсілдері [9] жұмысында қарастырылған. Бұл мақалада авторлар үш түрлі әдісті қарастырған: GZIP стандартты сығуы, тізімдер шектестігі негізінде сығу және кодтау сөздігі. Олардың бағалаулары бойынша, сығу жоғары дәрежеде деректер құрылымына тәуелді, және де кодтау сөздігі деректер құрамында URI саны әжептәуір көп болғанда ең тиімді болып табылады. [10] жұмысында авторлар RDF файлдарындағы URI-ларға құрылымдалған кодтау сөздігін қолданатын тәсілді ұсынады. Бұл тәсіл екі деңгейде жұмыс істейді: біріншіден, ол URI атаулар кеңістігін сығады, ал кейін URI атаулар кеңістігінің қалған бөлігін сығуға кіріседі. Жұмыс бастапқы кезеңдерде болса да, бағалаулар мұндай сығу тәсілі дәстүрлі Gzip-пен салыстырғанда 19,5%-дан 39,5%-ға дейін тиімдірек екенін көрсееді. URL-адрестерді сығу тақырыбындағы басқа жұмыс [11]-те сипатталған. Мұнда авторлар тиімді веб-кэштеуді қамтамасыз етуге қатты көңіл бөлген, және де URL кестелерін сығу қарапайым алгоритмін ұсынады. Алгоритм жалпы префикстер агрегирациялануы үшін URL иерархиялық декомпозициясына негізделген, префикстар арасында шиеленістерді минимумға келтіру үшін хэштеу функциясын қолданады. Осы әдістемені енгізе отырып, авторлар кэн-жадға қатынау уақытын минимумға жеткізе отырып, снымен қоса ақпаратты сықты. Кодтау сөздігі тек Semantic Web-та ғана емес, басқа облыстара да қолданылады. [12]-те кодтау сөздігі суреттерді сығуда пайдаланылған. [13]-те авторлар кейбір параллелді сығу алгоритмдерін алдын ала дайындалған сөздіктер қолдану арқылы жүзеге асырған. Кейбір облыстарда, негізгі жадта сыйа алатындай сздіктер көлемі аз. Жадтағы түрлі деректер құрылымдары жұмыстары бойынша жақсы салыстырулар [14]-да келтірілген. Салыстырулар бойынша, хэш-кесте ең тез дерек құрылымы екендігі айқан көрініп тұр. [15] Trie жарылысы деп аталатын жаңа ... жалғасы
Кіріспе 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 ресурс сипаттау ортасы моделі көмегімен жасалған облыстардың кең диапазонында ақпараттарды сипаттайтын көптеген миллиардтаған пайымдауларға ие, бұл облыстар диапазоны медико-биологиялық ақпараттан мемлекеттік ақпаратқа дейін болады. Бірмәнділікті қамтамасыз ету үшін, URI ұғым идентификациясында жиі пайдаланылады. Терминдар URI ұзын тізбектерінен құралатындықтан, Semantic Web қосымшалардың көбісі, мысалы, RDF сақтау құралдары, кеңістікті сақтау және өнімділік арттыру үшін пайымдауларды компактілеу көрсетілімдерімен алмастырады. Деректердің осы үлкен көлемдерін ең жақсы өңдеу және жоғары өнімділік үшін RDF қосымшалар деректерді сығу тәсілдерін қолдануы қажет. Өкінішке орай, кіріс деректердің үлкен көлемдеріне байланысты сығу күрделі есеп болып отыр. Сондықтан MapReduce үлестірілген алгоритмдері RDF деректердің үлкен көлемдерін сығу және қайта қалпына келтіруде аса тиімді.
Жаңалығы
Семантикалық Web-та берілген деректер көбіне үлкен көлемде болады, ал үлкен көлемді деректер өңдеу көп уақыт шығынын келтіруі мүмкін. Сондықтан казіргі кезде дамып келе жатқан параллельді бағдарламалау, соның ішінде Hadoop-MapReduce технологиясын қолдану үлкен көлемді деректерді тиімді әрі жылдамырақ өңдеуге мүмкіндік береді. Соның ішінде жаңадан дамып келе жатқан Семантикалық Веб негізі болып табылатын RDF деректерді сығу және қайта қалпына келтірудің жаңа үлестірілген әдісі осы жұмыста жүзеге асырылды.
Тәжірибелік маңыздылығы
Бұл дипломдық жұмыс тәжірибелік маңыздылығы - бағдарламаланған әлсіз құрылымдалған деректерді семантикалық өңдеу мысалы, яғни деректердің RDF форматында берілген көлемін Hadoop-MapReduce технология көмегімен сығу және қайта қалпына келтірудің бағдарламалық реализациясы.
Қазіргі жағдайды бағалау
Интернет - қашан да қолданыста болған ақпараттық репозиторийлердің ең ірісі, әрі оның мазмұны әрдайым өсіп келеді және ол түрлі тілдерде, білімнің айтарлықтай барлық салаларында берілген. Бірақ ақырында осы бүкіл мазмұннан негізгі мағына табу қиындап барады. Іздеу жүйелері белгілі бір сөздерден тұратын ақпаратты табуға қабілетті, бірақ оның әрдайым қажетті ақпарат болуы екіталай. Әрқашан белгілі бір элемент қалдырылып кетеді. Іздеу мазмұнның семантикалық мағынасына немесе парақ туралы ақпаратқа емес, парақтардың мазмұнына негізделген. Семантикалық интернет құрылысымен бірден ол интернеттің бүкіл мазмұнын, ақпараттың әрбір элементінің сипаттамасын және осы элементтердің семантикалық мағынасының қамтамасыз етілуін белгілеуге мүмкіндік беретін болады. Осылайша іздеу жүйелері қазіргі жағдайымен салыстырғанда әлдеқайда тиімдірек болады, ал қолданушылар өздеріне қажетті ақпараттың нақ өзін табатын болады. Түрлі қызметтер көрсететін ұйымдар оларды ерекше мағынамен индекстеуге қабілетті. Ал қолданушылар интернет негізінде бағдарламалық құралдарды пайдалана отырып, осы қызметтерді жедел түрде табуға және оларды өз пайдасына немесе басқа қызметтермен сәйкестілікте қолдануға қабілетті болады.
Қазіргі кезде Веб-тің орнын Семантикалық Веб ығыстыра бастауда. Семантикалық Веб толық өз орнын алып, нық отыруы үшін, оның өнімділік мәселелерін шешу қажет. Сол мәселелердің бірі болып, Семантикалық Веб көп бөлігін құрайтын RDF деректер көлемінің тым үлкендігі, желі арқылы тасымалдау қиындығы, өңдеу жұмыстарының көп уақыт алуы. Нәтижесінде RDF қосымшалардың жұмыс өнімділігі төмендейді, мәселе шешімі ретінде Hadoop-MapReduce технологиясы көмегімен деректерді сығу және қайта қалпына келтірудің параллелді тиімді нұсқасы ұсынылып отыр.
Мақсаты
Семантикалық Веб негізі болып табылатын әлсізқұрылымдалған RDF деректерді Hadoop-MapReduce технологиясы көмегімен сығу және қалпына келтіруінің параллельді алгоритмінің бағдарламасын дайындау.
Есептері
1. Белгілі бір пәндік облыс таңдап, сол облысқа білім қорын жасау, дәлірек айтқанда, RDF моделінің синтаксисі пәндік облысын таңдау, білім қоры ретінде онтология құру.
2. Онтологияны RDF форматқа келтіру қажет. Арнайы бағдарламалық қамтамасында тексеру.
3. Кодтау сөздігінің сығу және қайта қалпына келтірудің тізбектелген нұсқадағы алгоритмін жүзеге асыру.
4. Кодтау сөздігі сығуының үлестірілген алгоритмін Hadoop-MapReduce технологиясы көмегімен Java тілінде жүзеге асыру.
5. Кодтау сөздігі қайта қалпына келтіру үлестірілген алгоритмін Hadoop-MapReduce технологиясы көмегімен Java тілінде жүзеге асыру.
Дипломдық зерттеу обьектісі
Семантикалық Веб негізі болып табылатын RDF әлсізқұрылымдалған деректерін өңдеу, дәлірек айтқанда сығу және қайта қалпына келтіру алгоритмдері.
Теориялық және методикалық негізі
Әлсізқұрылымдалған деректер семантикалық талдау кезінде RDF моделіне келтіріледі. Әдетте бір пәндік облысқа қатысты RDF деректер көлемі өте үлкен болады, ал деректерді өңдейтін қосымшалар деректер көлемін азайту үшін сығу әдістерін пайдалануы қажет болып отыр. Бұл дипломдық жұмыс негізі RDF деректерді Кодтау сөздігі әдісімен сығу және қайта қалпына келтіру алгоритмін Hadoop-MapReduce технологиясы көмегімен параллельді түріне келтіріп жүзеге асыру.
Дипломдық жұмыс жазылуының тәжірибелік базасы
Онтология Protеgе білім қорын құру ортасында жасалынды. RDF деректер Sesame RDF деректерді өңдеу және сақтау ортасында өңделді. Сығу және қалпына келтіру бағдарламасы Java тілінде Eclipse интеграцияланған әзірлеу ортасында Jena - арнайы RDF деректермен жұмыс істеуге арналған кітапханасы және Jena Elephas - Jena-ның Hadoop-қа арналған кітапханасын қолдану арқылы әзірленді. Үлестірілген параллелді есептеулер Hadoop MapReduce ортасында жалған үлестірілген тәртіпте жүзеге асырылды, яғни бағдарлама кластер үшін жазылып, бірақ бір машинада ғана орындалды.
Негізгі бөлім
1. Теориялық бөлімі
1.1 Әлсізқұрылымдалған деректер
Әлсізқұрылымдалған деректер (жартылай құрылымдалған немесе нашар құрылымдалған деректер) -- реляциялық деректер қорының моделіндегі кестелер мен қатынастардың қатаң құрылымына сәйкес келмейтін болса да, семантикалық элементтерді бөлетін және деректер тізімінде жолдар мен жазбалардың иерархиялық құрылымын қамтамасыз ететін тегтер мен басқа маркерлері бар, құрылымдалған деректер қалыбы. Сонымен, мұндай деректер түрін сызбасыз (schemaless), ал құрылымын -- өзін-өзі сипаттайтын деп атауға болады.
World Wide Web-та берілген деректердің көп бөлігін әлсіз құрылымдалған, яғни қандай-да бір семантикалық құрылымы бар, бірақ деректер сызбасына ұқсайтын олардың құрылымдары туралы ақпарат олардың өзінде болуы мүмкін деректер түрінде қарастырған жөн.
Басқа да көзқарастар бойынша нақ деректер сызбасының маңызы әлсізқұрылымдалған деректердің дәстүрлі деректерден негізгі кілттік айырмашылығы болып табылады. Әлсізқұрылымдалған деректердің ерекшеліктерін сипаттайтын кілттік ережелерді атап өтуге болады:
1. Деректердің тұрақты сызбасы болмайды;
2. Деректер өзі мен олардың сызбасын арасында анық айырмашылығы жоқ;
3. Қатал типизация жоқ;
4. Деректер сызбасын өзгерту деректерге өзгертулер енгізу тәрізді қалыптасқан операция болады;
5. Деректер көлемі олардың сызбасының күрделілігімен салыстырымды;
6. Деректер сызбасы көрсетуші емес, сипаттаушы болып табылады, және де деректер өзінен алынуы мүмкін;
7. Сұраныстарды құру үшін деректер сызбасын толық білу қажетті емес, деректер сызбасын толық ескермейтін сұраныстар да болу мүмкін.
Әлсізқұрылымдалған деректерде бір класқа жататын бүтіндіктерде түрлі атрибуттар болуы мүмкін.Атрибуттар тәртібі де маңызды емес.
Әлсізқұрылымдалған деректер зерттелуі керек маңызды объект болып табылады бірнеше себепке байланысты:
Веб тәрізді деректер негіздеріне деректер қорына сияқты қатынау ыңғайлы, бірақ Веб-ті қандай-да бір анықталған деректер сызбасына келтіруге болмайды;
Түрлі деректер қорлары арасында деректер алмасу үшін ең икемді фозматқа ие болғаны жөн;
Құрылымдалған деректермен жұмыстың өзінде навигация мақсатымен оларды әлсізқұрылымдалған деректер түрінде көрсетілімі ыңғайлы.
Сонымен, әлсізқұрылымдалған деректер жиірек кездесетін болды, өйткені интернет дамуымен толықтексттік документтер және деректер қорлары үшін ақпараттық дәнекерлеуші сапасында қызмет ететін деректер форматы қажет. Әлсізқұрылымдалған деректерді объектіге-бағытталған деректер қорында жиі кездестіруге болады.
1.2 Онтологиялар
Онтологиялар (гр. on (ontos) -- болмыс) семантикалық желінің негізін құрайды және қандай да бір пәндік облыстың ұғымдары мен олардың арасындағы қатынастардың қандай да бір формалды тілдегі сипаттамасы болып табылады. Онтологиялар көбіне тезаурустар мен таксономияларға ұқсас болып келеді, бірақ шынымен олармен салыстырғанда кең болып табылады, өйткені сипатталатын деректердің құрылымын сипаттайтын қосымша құралдармен қамтамасыз етіледі. Онтологиялар өз мағынасында - ақпарат туралы ақпарат болғандықтан, олар метадеректер болып табылады.
Адамдар немесе бағдарламалық агенттер бірге қолдануында, пәндік облыстағы білімді жинақтау және қайта қолдану мүмкіндігі үшін, қатаң құрылымдалған деректермен ғана емес, онтологиялармен де жұмыс істейтін моделдер мен бағдарламалар жасау үшін, пәндік облыстағы білімді талдау үшін және т.б. мақсаттарда онтологиялар жасалынып және қолданыла алады.
Онтологиялардың көбісінің ортасында, әрқайсысында ағымдағы класпен салыстырғанда дәлірек ұғымдарды келтіретін ішкі кластары бар болуы мүмкін кластар болады. Онтологияның барлық кластары бір немесе бірнеше иерархия құрып пәндік облыс ұғымдарын сипаттайды. Кластарда ұғымдардың қасиеттерін және класс негізінде жататын ішкі құрылымын сипаттайтын атрибуттары болу мүмкін. Барлық ішкі кластар аталық кластар атрибуттарын мұрагерлікке алады. Кластың әр атрибутында атымен қатар, мән типі, рұқсат етілген мәндер және мәндер саны (қуаты) болады. Атрибут мән типі атрибуттың мәнінің қандай типтері болуы мүмкіндігін сипаттайды, мысалы, жол немесе бүтін сан. Атрибуттың тек белгілі бір кластарды немесе кластардың белгілі бір экземплярларын ғана қабылдайтын мән шектеулері де болады. Атрибут рұқсат етілген мәндері атрибутқа шектеулер қояды, бірақ тип шектерінде орындалады, мысалы, бүтін сандардың берілген диапазоны. Атрибут қуаты ол қанша мәнге ие бола алатындығын көрсетеді: тек бір мән - бірлік қуат немесе мәндердің кез келген саны - көптік қуат. Онтологияда класс экземплярлары болуы мүмкін, яғни барлық атрибуттарының мәндері орнатылған кластар болуы мүмкін.
Онтологиялар білім көрсетілімі, білім инженериясы, ақпараттық ресурстар семантикалық интеграциясы, ақпараттық іздеу және т.б. салаларда жеткілікті түрде кең таралды. Жасанды интеллект ғылымында онтология - бұл пәндік облыс концептуализациясының спецификациясы, немесе қарапайымдатып айтқанда, терминдар арасында қатынастарды формалды беретін документ немесе файл. Бұл өзіндік тұрғыда пәндік облыстың ұғымдар сөздігі және осы ұғымдар мағыналарына қатысты анық айқындалған пікірлер жиыны болып табылады.
Көбіне онтология - кейбір анықталған түрдегі қатынастармен байланысқан ұғымдар иерархиясы түрінде көрсетіледі. Мұндай онтологиялар анықтамалары түрлі классификацияларда қолданылады. Дамыған онтологиялар логика тілінің құралдарымен қалыптастырылады және логикалық қорыту мүмкіншіліктеріне ие болады. Мысал түрінде 1.1 - суретте үйрету контексті атты кішігірім пәндік облыстың онтологиясының иерархиясын көруге болады.
1.1 - сурет. Үйрету контексті пәндік облысының онтологиясы
Ең қарапайым жағдайда онтологияларды Internet-те іздеу дәлдігін арттыру үшін қолдануға болады - іздеу жүйесі ізделінетін ұғым мәтіндерде жай кездескен емес, ал дәл мағынасында ескерілетін сайттарды ғана көрсетететін болады.
OWL веб-онтологиялар тілі - бұл веб-онтологияларды анықтайтын және көрсететін тіл. OWL формалды семантикасы онтология көмегімен логикалық салдарды қалай алуға болатынын сипаттайды, яғни онтологияда тікелей көрсетілмеген, бірақ оның семантикасынан шығатын факт алуды сипаттайды. Бұл салдар бір документке немесе OWL-дың белгілі бір механизмдерін қолдану арқылы комбинацияланатын бірнеше үлестірілген документтерге негізделіп алынуы мүмкін.
OWL веб-онтологиялар тілін W3C Web Ontology (WebOnt) жұмыстық тобы әзірлейді. OWL XMLWeb стандарт болып табылады, бірақ одан айырмашылықтары бар.
Онтологиялардың XML схемаларынан ерекшелігі: бұл білім көрсетілімі, ал хабарламалар форматы емес. Веб-стандарттардың көбісі хабарламалар стандарттары және хаттамалар спецификацияларының комбинациясынан тұрады. Бұл форматтарға эксплуатациялық семантика берілген, мысалы: СатыпАлуТапсырыс хабарламасын алғанда, теңге Мөлшерін СатыпАлушыЕсепшотынан СатушыЕсепшотына жіберу және Тауарды босату керек. Бірақ спецификация берілген транзакция контекстінен тыс операцияларды қолдамайды. Мысалы, ереже бойынша, Тауар аты Шардоне болғандықтан, ол сонымен қатар ақ вино болатынын қорытындылай алатын механизм жоқ.
OWL онтологияларының артықшылықтарының бірі олар туралы пайымдай алатын құралдар қолжетімділігі болып табылады. Құралдар берілген пәндік облыстың өзіне тән емес жалпы қолдауды қамтамасыз етеді. Айқын және жұмыс істеуге қабілетті пайымдау жүйесін құру - қарапайым іс емес. Онтология құру қолжетімділігі жоғарылау.
OWL негізіндегі Web онтологиялық тілінің компоненттері.
OWL негізгі компоненттері кластарды, қасиеттерді және жеке элементтерді қамтиды.
Кластар
Кластар - бұл OWL онтологиясының негізгі блоктары. Класс - бұл домендегі концепция. Әдетте, кластар таксономиялық иерархияны құрады (яғни класс асты - класс үсті жүйесі).
Кластар owl: Class элементі арқылы анықталады. OWL тілінде алдын-ала анықталған екі класс бар: owl:Thing және owl:Nothing. Бұлардың біріншісі әлдеқайда ортақ болып табылып, бәрін қамтиды, екіншісі - бос класс. Қолданушымен анықталатын кез-келген класс owl:Thing класының класс асты және owl:Nothing класының класс үсті болып табылады. Банк ісі саласындағы кластардың мысалдары Шот (Account) немесе Клиент (Customer) кластарын қамтуы мүмкін.
OWL класының мысалы:
owl:Class rdf:ID="SavingsAccount"
rdfs:subclassOf rdf:resource="#Account"
owl:Class
Мысалдағы код SavingAccount элементі Account класының класс асты болып табылатын класс екенін көрсетеді.
OWL кластарды сипаттаудың негізгі алты тәсілін қолдайды. Ең қарапайымы - бұл атауы (named) бар класс. Басқа тұрпаттары - бұл қиылыстар (intersection), бірлестіктер (union), шектеуліктер (restrictions) кластары және аударымдар (enumerated) кластары. Мысалда осы сыныптарды сипаттау тәсілдерінің екеуі берілген: SavingAccount шектеуліктер класын Account деп аталатын кластың класс асты ретінде анықтайды. W3C OWL кластарының қасиеттерінің толық пакетіне сілтемені Ресурстар бөлігінен табуға болады.
Қасиеттер
Қасиеттер екі негізгі санатқа бөлінеді:
объекттік қасиеттер (Object properties), бұлар жеке элементтерді өзара байланыстырады;
деректер типтік қасиеттер (Datatype properties), бұлар жеке элементтерді бүтін сандар, құбылмалы үтірі бар сандар және жолдар тәрізді деректер типтерінің мағыналарымен байланыстырады.
OWL деректердің типтерін анықтау үшін XML жүйесін қолданады. Қасиеттер доменді және сонымен байланысты кейбір саланы қамтуы мүмкін. Кез-келген қасиет келесі санаттардың біріне кіреді:
функционалдық: кез-келген объект үшін қасиет тек бір мағына ғана қабылдауы мүмкін (мысалы, адамның жасы, бойы және салмағы);
кері-атқарымдық: түрлі екі жеке элемент бірдей мағынаға ие бола алмайды. Мысалы, кез-келген адамның банк шотының бірегей нөмірі болады немесе SSN (social security number);
симметриялық: егер қасиет А элементін В элементімен байланыстырса, онда бұдан оның солайша В элементін де А элементімен байланыстыратыны туралы қорытынды жасауға болады. Симметриялық қасиеттердің мысалдары ағасы (әпкесі) болып табылады немесе сондай сияқты деген тәрізді мағыналарды қамтиды;
транзитивтік: егер қасиет А элементін В элементімен байланыстырса, ал В элементі С элементімен байланыстырса, онда ол А элементін С элементімен де солайша байланыстырады деп болжауға болады. Мысалы, егер А В-дан жоғары болса, ал В С-дан жоғары болса, онда А С-дан жоғары.
Кластар мен қасиеттерге түрлі шектеулер қойылуы мүмкін. Мысалы, көпшілік қуаттылығының шектеулері класс немесе жеке элемент қатыса алатын байланыстар санын көрсетуі мүмкін.
1.3 RDF моделі
Семантикалық Web технологияларына келесілер кіреді:
аттардың жаһандық тәсімі (URI);
деректер сипаттамасының стандарттық синтаксисі (RDF);
деректердің қасиеттерін сипаттаудың стандарттық тәсілдері (RDF схемасы);
деректердің объектілерінің арасындағы байланысты сипаттаудың стандарттық тәсілдері (Web онтологиялық тілінің көмегімен анықталатын онтология (Web Ontology Language)).
RDF -- желіде ақпарат көрсетіліміне арналған платформа, децентрленген әлемдегі білім көрсетілімінің тәсілі, Семантикалық Веб негізгі технологиясы. RDF -- бұл қатаң мағынада XML-формат емес, қарапайым метадерек емес.
RDF моделі 90-шы жылдар соңында пайда болды, ал 2001 жылы Scientific American журналында семантикалық тор кезеңі келгенін жариялаған (Semantic Web) Тим Бернерс Лидің әйгілі мақаласы [3] жарық көрді. Сол шақтан бастап желіде семантикалық өңдеумен байланысты барлық нәрсеге, соның ішінде RDF-ке де қызығушылық дереу артты, ал 2004 жылы RDF W3C комитетінің стандарты түрінде қабылданды. Стандарт бойынша семантикалық Веб ұғымдар стегінде RDF орнын 1.2 - суретте көруге болады.
1.2 - сурет. Семантикалық Веб ұғымдар стегі
RDF [32] негізі - бұл субьекттан обьектқа бағытталған байланысты сипаттайтын деректердің субъект-предикат-объект (үштік, triples) пайымдаулары түріндегі көрсетілімі. 1.3 - суретте үштік сызбасы бейнеленген.
1.3 - сурет. RDF үштігі
RDF спецификациясында желілік ресурстар арасында қатынастар құру қағидаты үш компонент болуын қарастырады - объект, атрибут және мәні (бастауыш - баяндауыш - толықтауыш классикалық сызбасының аналогы). Берілген тізбектің (триплет) әр элементіне идентификатор (URI) беріледі, оның көмегімен түйіндердің біреуіне сілтеу арқылы автоматты түрде тізбекті толығымен қайта қалыптастыруға болады. RDF тілінің триплеттерінен өзара байланысқан желі қалыптаса алады. RDF ақпаратты документте кодтау үшін URI-идентификаторлар қолданатындықтан, бұл әр ұғым Желіде табуға болатын бір анықтамаға бекітілуін қамтамасыз етеді.
RDF негізгі құрылыс блогы - объект - атрибут - мәні үштігі көбіне A(O,V) түрінде жазылады, мұндағы О - объект, А - V мәнді атрибут. RDF объекттер мен мәндер орындарын ауыстыруға рұқсат береді.
Бастапқыдан RDF-та объекттер, ұғымдар, қасиеттер және қатынастар сәлтемелері үшін XML тілінің синтаксисі және URI-идентификаторлар қолданылады. Бірақ RDF-сипаттамалардың басқа түрлері де бар, мысалы, үштіктер тізбегі түрінде:
hasName
("http:dwl.visti.net", "Dmitry Lande")
authorOf
("http:dwl.visti.net", "ISBN5845907640")
hasPrice
("ISBN5845907640", "$8").
Сонымен қатар, RDF үштік түріндегі кез келген RDF пікір объект немесе мән болуына рұқсат береді, яғни берілген объектте белгілі бір тип бар екендігін нұсқауға мүмкіндік береді, мысалы, "ISBN5845907640" - бұл rdf:type book, RDF сызбасында book анықтамасына сілтеу арқылы:
rdf:Description about="www.book.netISBN5845907640"
rdf:type rdf:resource="http:description.or gschema#book"
rdf:Description
RDF үштігің құрамының үш компоненті:
субъект: RDF URI сілтемесі немесе бос түйін болады;
предикат: RDF URI сілтеме болады;
объект: RDF URI сілтеме, литерал немесе бос түйін болады.
Субъекттер, объекттер және предикаттар идентификациясы үшін URL ұғымының жалпылануы болып табылатын Uniform Resource Identifier (URI) идентификаторы қолданылады. Мысалы:
субъектобъект:
http:localhostpublicationsartic lesJournal11940Article1.
Предикат:
http:purl.orgdcelements1.1ti tle.
RDF граф - RDF триплеттер жиыны.
RDF -- бұл кез келген білімді кішкентай бөліктерге бөлетін әмбебап әдіс. Ол семантикаға, яғни сол бөліктер мағынасына қатысты белгілі бір ережелерді тағайындайды. Идеяның негізі - кез келген фактты бір қарапайым әдіспен сипаттауға болады, әрі бұл компьютерлік бағдарламалар өңдей алатындай құрылымдалған түрде жүзеге асырылады.
1.4 - суретінде түйіндері субъектобъекттер болатын, байланыс доғалары предикаттар болатын, ал оларды анықтау үшін URI идентификаторы қолданылған RDF графының мысалы көрсетілген.
1.4 - сурет. RDF графының мысалы
Семантикалық Web маңызды компоненті - RDF методологиялық моделі, ал оның қызметі желілік ресурстар мен ақпарат арасындағы қатынастарды сипаттау болып табылады. XML тегдер өздігінен олардың мағыналық болмысынан үзілген. Сондықтан XML-мен параллелді түрде RDF стандарты жасалына бастады, яғни RDF Семантикалық Web архитектурасына сәйкес XML-документтер және логикалық қорытулар негізінде іздеу мен навигацияны қамтамасыз ететін құралдар арасындағы байланыстырушы түйін ретіндегі желілік ресурстар құрамын формалды сипаттайтын тіл болып табылады. RDF терминдер мен ұғымдар мағыналарын бағдарламалар өңдей алатын түрге келтіретін технология болып табылады. Бұл технология Web ресурстарды сипаттайтын метадеректер анықтамалары және қолдануын стандарттауға арналған, әрі ресурстардың өзіндегі деректерді көрсетіліміне арналған.
RDF спецификациясы кез келген ұғымдарды анықтауға мүмкіндік беретін тегтерді қолдайды (мысалы, электронды коммерцияда сәйкесінше баға мен есеп мәндері жазылатын "Price" және "Invoice" тегтерін қолдануға болады).
Ақпараттық ресурстар терминдар жиыны көмегімен сипатталады. Семантика, терминдардың өздерінің және терминдар сөздіктерінің мағыналары глобалды әмбебап URI атаулармен белгіленеді. RDF-та RDF-сызба деп аталатын терминдар сөздігі алдын ала қарастырылған, бұл сөздік RDF-пайымдауларда қандай терминдар қолданылуы мүмкіндігін және ресурстар қасиеттері туралы анықтайды, пәндік облыс ұғымдарының иерархиясын көрсетеді, әр термин сипаттамаларын суреттейді.
1.4 Hadoop-MapReduce технологиясы
Hadoop - Apache Software Foundation басқаруындағы ашық кодты жоба. Hadoop сенімді, масштабталатын және үлестірілген есептеулерде қолданылады, сонымен қатар деректер петабайттарын өзіне сыйғыздыра алатын жалпыға ортақ файлдар қоймасы түрінде қолданылуы мүмкін. Көптеген ұйымдар Hadoop-ты зерттеу және өнеркәсіптік мақсаттарда қолданады.
Hadoop екі кілттік компоненттен тұрады:
Hadoop үлестірілген файлдық жүйесі (ағыл. HDFS), ол Hadoop кластерінде деректер сақталуына жауап береді;
MapReduce жүйесі, ол кластердегі деректердің үлкен көлемін өңдеу және есептеуге арналған.
Бұл кілттік компоненттер негізінде Pig, Hive, HBase және т.б. тәрізді бірнеше ішкі жобалар жасалынған.
HDFS
HDFS, Hadoop үлестірілген файлдық жүйесі - бұл Hadoop қосымшасында қолданылатын деректерді сақтайтын негізгі жүйе. HDFS деректер блоктарын көп рет көшіріп, бұл көшірмелерді кластердің есептеуіш түйіндеріне үлестіреді, яғни есептеулердің жоғары сенімділігі мен жылдамдығын қамтамасыз етеді:
Деректер жүктелу уақытында бірнеше машиналар арасында үлестіріледі;
HDFS файлдарды регулярлы емес, ретсіз оқу емес, көбіне ағындық оқуды орындауға ықшамдалған;
HDFS жүйесіндегі файлдар бір рет жазылады және файлдарға ешқандай кез-келген жазбалар енгізу мүмкін емес;
Қосымшалар үлестірілген файлдық жүйе файлдарын Java бағдарламалық интерфейсі арқылы тікелей оқи алады және жаза алады.
MapReduce
MapReduce - бағдарламалау моделі және есептеуіш түйіндердің үлкен параллелді кластерларында деректің үлкен көлемдерін жоғары жылдамдықты өңдеуге арналған қосымшалар жазу каркасы:
есептердің автоматты түрде параллелденуін және үлестірілуін қамтамасыз етеді;
тұрақтылықты және жеке элементтердің істен шығуында жұмыс істеу қабілеттілігін сақтайтын кіріктірілген механизмдері бар;
бағдарламалаушылар үшін абстракцияның таза деңгейін қаматамасыз етеді.
MapReduce Google 2004 жылы қолданысқа енгізген үлестірілген бағдарламалау парадигмасы болып табылады. Модель екі қарапайым функция map және reduce бірігуінен құралған, Lisp тәрізді функционадық тіліндегі map және reduce функцияларына ұқcаc. MapReduce бағдарламалау үлгісі өте тиімді болып табылады, ол үстеме аз шығындарымен параллелизмнің жоғары дәрежесін береді. Бұл бағдарламалау үлгісінде барлық ақпарат key, value (кілт, мән) жұбы түрінде реттеліп кодталады. MapReduce тапсырмасының жұмыс үрдісі мынадай: біріншіден, мар функциясы кірісті өңдеп, key2, value2 басқа жұпты шығысына береді. Ал reduce функциясы кілттерге байланысты қандай да бір топтық операцияларды орындап жұптардың өңделген key3, value3 түріндегі нәтижелерін шығысқа береді. Маппер және редюсер функцияларының кіріс деректерді өңдеу жұмысын қысқаша көрсететін сұлба 1.5 - суретте бейнеленген.
1.5 - сурет. Маппер және редюсер функцияларының кіріс мәліметті өңдеу ерекшеліктері
Hadoop стандарттық орнатылуы демондардың жиынынан немесе түрлі жүйелік серверлердегі резиденттік бағдарламалардан тұрады. Кейбір демондар бір серверде, басқалары бірнеше серверде ашылуы мүмкін. Қолданыстағы демондар төменде көрсетілген:
NameNode. Hadoop-та үлестірілген сақтау әрекетіне (HDFS) де, үлестірілген есептеулерге де (MapReduce) бастыбағынышты архитектурасы қолданылады. NameNode демоны DataNode бағынышты демондардың арасындағы енгізушығару төмен деңгейлік тапсырмаларын үлестіретін HDFS басты демоны болып табылады. Ол файлдардың блоктарға ұсақталу есебін жүргізеді, осы блоктардың қандай түйіндерде жатқаны туралы ақпаратты сақтайды және үлестірілген файлдық жүйенің жалпы күйін қадағалап отырады. Name Node демоны DataNode немесе TaskTracker сияқты дубляжданбайды;
DataNode. Үлестірілген файлдық жүйенің жұмысын орындайды: HDFS блоктарының салыстырып оқылуы және олардың локалдық файл жүйесіндегі физикалық файлдарға жазылуы қамтамасыз етеді;
Secondary NameNode (SNN) - HDFS кластерінің күйін мониторингтеумен айналысатын көмекші демон. Жоғарыда NameNode демонының дубдяждалмайтыны айтылды, осылайша Hadoop жалпы бас тарту нүктесі болып табылады. SNN шығаратын суреттер бос тұрып қалу уақытын азайтып, деректердің жоғалуын минимумға жеткізуге мүмкіндік береді;
JobTracker - Hadoop пен клиенттік қосымша арасындағы аралық буын болып табылады. Кластерге код беру кезінде JobTracker орындау жоспарын құрады, яғни қандай файлдарды өндейтінін анықтап, түрлі тапсырмаларға түйіндер тағайындайды және осы тапсырмалардың орындалу барысын қадағалайды. Hadoop кластерінде тек қана бір демон болуы мүмкін - JobTracker;
TaskTracker. Сақтау демондары сияқты есептеулер демондары да бастыбағынышты архитектураның базасына құрылған. JobTracker - MapReduce тапсырмаларының орындалуын ұйымдастыратын басты демон болса, TaskTracker демондары бағынышты түйіндерде жеке тапсырмалардың орындалуын басқарады.
Hadoop архитектурасының демондардың өзара байланысы 1.6 - суретте бейнеленген.
1.6 - сурет. Hadoop архитектурасы
1.6 - суретте кластердің барлық түйіндері үшін Namenode жалғыз, ал деректер демоны Datanode үлестірілгендігі айқын көрініп тұр.
1.5 Кодтау сөздігі
Деректерді сығу (data compression) -- тасымалдаушылардағы (қатты магниттік диск, дискет, магнит таспасы) деректер жазбасының көлемін (өлшемін) қысқартудың техникалық әдісі; көбінесе кодтауды (қайталанатын сөздерді, фразаларды, символдарды) қолданатын әртүрлі әдістермен жүзеге асырылады. Деректерді сығудың екі тәртіптеме тобын бөліп көрсетуге болады: статистикалық және динамикалық; сондай-ақ физикалық және логикалық сығу; симметриялық және ассиметриялық; бейімделген, жартылай бейімделген және бейімделмеген кодтау; шығынсыз, шығынмен және аз шығынмен сығу.
Логикалық сығу (logical compression) -- мұнымен сәйкестілікте әліпбилік, сандық және екілік символдардың бір жиынтығы басқа сөзбен алмастырылатын әдістеме. Дегенмен бұл орайда алғашқы деректердің мағынасы сақтала береді. Мысал ретінде сөз тіркесінің аббревиатурамен (қысқармамен) алмасатынын келтіруге болады. Логикалық сығу символдық немесе жоғарырақ деңгейде жасалады және тек қана алғашқы деректердің мазмұнына негізделген. Логикалық сығу суреттер үшін қолданылмайды.
Сөздікті қолдану арқылы сығу әдісі деректерді сөздерге ұсақтау және оларды сөздіктегі индекстерге ауыстыру болып табылады. Бұл әдіс - деректерді сығудың қазіргі кезде әлдеқайда көп таратылған тәсілі. RLE табиғи жалпылау болып табылады. Жүзеге асырудың әлдеқайда көп таратылған нұсқасында сөздік біртіндеп сығылу процесінде деректердің бастапқы блогындағы сөздермен толтырылады.
Сөздіктің көлемі кез-келген сөздік әдісінің негізгі параметрі болып табылады. Сөздік неғұрлым үлкен болса, тиімділігі соғұрлым жоғары болады. Алайда біртекті емес деректер үшін тым үлкен көлем зиянды болуы мүмкін, себебі деректер тұрпатының кенеттен өзгеруі кезінде сөздік көкейкесті емес сөздермен толып кетеді. Әдістер деректердің нәтижелі жұмысы үшін сығу кезінде қосымша, атап айтқанда сөздіктің бастапқы деректері үшін қажетті жадыдан біршама көбірек жад қажет болады. Қалпына келтірудің оңай және тез рәсімі сөздік әдістерінің маңызды артықшылығы болып табылады. Бұл орайда қосымша жадының қажеті жоқ. Деректерге жедел түрде қожетімділік қажет болған жағдайда мұндай ерекшелік өте қажет.
Сөздікті қолдану арқылы сығу әдістеріне келесі алгоритмдер кіреді: LZ7778, LZW, LZO, DEFLATE, LZMA, LZX, ROLZ.
Семантикалық Веб [3] RDF ресурс сипаттау ортасы моделі көмегімен жасалған облыстардың кең диапазонында ақпараттарды сипаттайтын көптеген миллиардтаған пайымдауларға ие, бұл облыстар диапазоны медикалық-биологиялық ақпараттан [33] мемлекеттік ақпаратқа [34] дейін болады. Бірмәнділік қамтамасыз ету үшін, URI жиі ұғым идентификациясында пайдаланылады. Терминдар URI ұзын тізбектерінен құралатындықтан,Semantic Web қосымшалардың көбісі, мысалы, RDF сақтау құралдары,кеңістікті сақтау және өнімділік арттыру үшін пайымдауларды компактілеу көрсетілімдерімен алмастырады. Деректердің осы үлкен көлемдерін ең жақсы өңдеу және жоғары өнімділік үшін RDF қосымшалар деректерді сығу тәсілдерін қолдануы қажет. Өкінішке орай, кіріс деректердің үлкен көлемдеріне байланысты сығу күрделі есеп болып отыр. Сондықтан MapReduce үлестірілген алгоритмдері RDF деректердің үлкен көлемдерін сығу және қайта қалпына келтіруде аса тиімді. Деректерді сығуда ең жиі қолданылатын тәсілдерінің бірі болып Кодтау Сөздіктері табылады.
Кодтау сөздіктерінде деректер тізбегіндегі әр элемент сандық идентификатормен ауыстырылады. Сәйкес сөздікті қолданып деректерді ағымдық сығылмаған қалпына қайта келтіруге болады. Өзінің қарапайымдылығына байланысты бұл тәсіл түрлі облыстарды пайдаланылады.
Біздің жағдайда кодтау сөздігінің сонымен қатар тағы бір артықшылығы бар: сығылған деректермен қосымша көмегімен манипуляцияларды жасай беруге болады. Gzip немесе bzip2 тәрізді дәстүрлі әдістер сығылған деректерді жасырып тастайды, сондықтан ол деректерді қайта қалпына келтірусіз оқу мүмкін емес. Сығылған, яғни кодталған деректермен сұраныстар жасап, тағы да басқа манипуляцияларды жасау [24] жұмысында қарастылған. Бұл жұмыста авторлар кодтау сөздігі көмегімен сығылған деректермен сығылмаған бастапқы қалыптағы деректермен жұмыс істегендей өңдеуге болатындығын дәлелдеген.
Бір машинаға арналған кодтау сөздіктері Hexastore, 3Store және Сезам тәрізді RDF сақтау жүйелерінде ақпаратты тиімдірек сақтау үшін [5-7] пайдаланылады. asWebPIE [4] және OWLIM [8] тәрізді логикалық қорыту жүйелері де деректерді осы тәсілмен сығады. RDF деректерге қолданыла алатын сығу тәсілдері [9] жұмысында қарастырылған. Бұл мақалада авторлар үш түрлі әдісті қарастырған: GZIP стандартты сығуы, тізімдер шектестігі негізінде сығу және кодтау сөздігі. Олардың бағалаулары бойынша, сығу жоғары дәрежеде деректер құрылымына тәуелді, және де кодтау сөздігі деректер құрамында URI саны әжептәуір көп болғанда ең тиімді болып табылады. [10] жұмысында авторлар RDF файлдарындағы URI-ларға құрылымдалған кодтау сөздігін қолданатын тәсілді ұсынады. Бұл тәсіл екі деңгейде жұмыс істейді: біріншіден, ол URI атаулар кеңістігін сығады, ал кейін URI атаулар кеңістігінің қалған бөлігін сығуға кіріседі. Жұмыс бастапқы кезеңдерде болса да, бағалаулар мұндай сығу тәсілі дәстүрлі Gzip-пен салыстырғанда 19,5%-дан 39,5%-ға дейін тиімдірек екенін көрсееді. URL-адрестерді сығу тақырыбындағы басқа жұмыс [11]-те сипатталған. Мұнда авторлар тиімді веб-кэштеуді қамтамасыз етуге қатты көңіл бөлген, және де URL кестелерін сығу қарапайым алгоритмін ұсынады. Алгоритм жалпы префикстер агрегирациялануы үшін URL иерархиялық декомпозициясына негізделген, префикстар арасында шиеленістерді минимумға келтіру үшін хэштеу функциясын қолданады. Осы әдістемені енгізе отырып, авторлар кэн-жадға қатынау уақытын минимумға жеткізе отырып, снымен қоса ақпаратты сықты. Кодтау сөздігі тек Semantic Web-та ғана емес, басқа облыстара да қолданылады. [12]-те кодтау сөздігі суреттерді сығуда пайдаланылған. [13]-те авторлар кейбір параллелді сығу алгоритмдерін алдын ала дайындалған сөздіктер қолдану арқылы жүзеге асырған. Кейбір облыстарда, негізгі жадта сыйа алатындай сздіктер көлемі аз. Жадтағы түрлі деректер құрылымдары жұмыстары бойынша жақсы салыстырулар [14]-да келтірілген. Салыстырулар бойынша, хэш-кесте ең тез дерек құрылымы екендігі айқан көрініп тұр. [15] Trie жарылысы деп аталатын жаңа ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz