Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MapReduce базаны пайдалана отырып, RDFS OWL п...docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
218 Кб
Скачать
☆

6.8 Жетінші блок: hasValue мәлімдемелер

Бұл блокта біз ережелерін 14a және 14b орындайды. Екі ережелер схемасына қол жеткізе

қарым-қатынас анықтау үштіктің «onProperty» және «hasValue». Ереже 14A жұмыстары

«түрі» ғана басқа ереже жалпы адамдарымен жұмыс істейді, ал, үштіктің. Біз

Бұл білдіреді, өйткені, бұл ереже 14b «түрі» үштіктің қабылдай алмаймыз болжауға

біз RDF туралы қатынасы «onProperty» анықтау, бұл: түрі предикат, өйткені мен

стандартты конструкциялық келген Басын мүмкіндік бермейді, бұл оқиға ғана

еленбейді. Бұл екі ережелері екі дизъюнктных топтар жұмыс істейді білдіреді.

картография предикат ма байланысты екі топқа бөлінеді үштіктің

түрі немесе жоқ: RDF болып табылады. Triple RDF бар болса: предикат ретінде түрі өңделетін болады

ереже 14b логикасына сәйкес, әйтпесе ол ереже 14а арқылы болады. Біз сондай-ақ орнату

үштік реттелуіне өзекті тақырыбы луын сәйкес топтастырылады, сондықтан

пән. Бұл топтау жинақталатын телнұсқаларын санын шектеуге бағытталған.

Предикат әрқашан, өйткені ереже 14b жағдайда біз, құны ретінде ғана нысанды салып

RDF: түрі, басқа жағдайда біз құны ретінде кодтау, ал екі предикат және

нысан.

Page 67

6.8. Жетінші блок: HASVALUE ЕСЕПТЕР

67

Алгоритм 17 OWL: алтыншы блок, кодтау ереже 11

Картада (басты, мәні):

// Кілт: маңызды емес

// Мәні: енгізу үштік

(егер. мән предикатты = үкі: sameAs), содан кейін

кілт =

мәні. пән + 'S'

шығару. (пернені, '0' + мәні. нысан) жинау

кілт = мән. нысан + 'S'

шығару. (кілтін '1' + мәні. тақырыпты) жинау

тағы

кілт = мән. пән + 'O'

outValue = '1' + мәні. предикат + мәні. зат

шығару. (кілтін outValue) жинау

кілт = мән. нысан + 'O'

outValue = '2' + мәні. предикат + мәні. пән

шығару. (кілтін outValue) жинау

(кілтін итератора мәндерін) азайту:

мәні = мәндері. бірегей

(құндылықтар құнының) үшін

(мән [0] = '0'), содан кейін // sameAs үштік егер

sameAsSet. (мәні. ресурс) қосу

тағы

(sameAsSet жылы sameResource) үшін

(мән [0] = '1'), содан кейін // мәні ISP + O, егер

шығару. , sameResource (Triple, бос (жинау

мәні. resource1, мәні. resource2)

басқа // мәні ISP + S

шығару. , (NULL, үш (мәні. resource2 жинау

мәні. resource1, sameResource))

Page 68

68

MAPREDUCE функциялары ретінде 6-тарау OWL Пайдасына

Алгоритм 18 OWL: жетінші блок, кодтау ережелері, 14а 14б сурет

Картада (басты, мәні):

// Кілт: маңызды емес

// Мәні: енгізу үштік

содан кейін, егер: (түрі мәні предикатты = RDF).

шығару. (мәні. пәні, '0' + мәні. нысан) жинау

тағы

шығару. (мәні. тақырыпты '1' + мәні. предикат + мәні. нысан) жинау

(кілтін итератора мәндерін) азайту:

(құндылықтар құнының) үшін

(мән [0] = 0), содан кейін // 14B ережелер, егер

onProperties = onPropertySchema. (мәні. объект) алу

hasValues ​​= hasValueSchema. (мәні. объект) алу

содан кейін (onProperties! = NULL және hasValues! = NULL) егер

// Саналатын с нысан схемасына сәйкес келеді

(onProperties жылы onProperty) үшін

(hasValues ​​жылы hasValue) үшін

шығару. (нөл, үш (кілті. тақырыпты, onProperty, hasValue) жинау

басқа // ереже 14A

onProperties = onPropertyInvertedSchema. (мәні. предикат) алу

hasValues ​​= hasValueInvertedSchema. (мәні. объект) алу

түрлері = onProperties $ \ және $ hasValues

(түрлері түрі) үшін

шығару. . типі, түрі): (нөл, үш (негізгі тақырыбы, RDF жинау

редукторы алдымен тиіс билік, ол білу үшін құны жалауын тексеру

орындау. Құндылықтар қамтылған ақпарат сәйкес келсе кейін, олар тексеру

схемаға қарсы. Жағдайда ол, редукторлар, жаңа үштік шығарып істемейді.

екі ережелері қосылу үшін бір схема үштіктің пайдаланады, бірақ әр түрлі пайдалана отырып,

Матч ұпай. Осы себепті екі схема үштік («onProperty» және «has-

Мән «) 4 түрлі hashtables қотарылады. Алғашқы екі жылы біз үштік орнату

мәні ретінде кілт мен объектілерді сияқты пәндер. Бұл ереже 14b пайдаланылатын болады. The

басқалары кілт ретінде үштік заттарды пайдалана отырып, қарама-қарсы тәсілмен жасалады және

құны сияқты пәндер. Бұл екі ереже 14а үшін пайдаланылатын болады.

алгоритм алгоритм хабарлайды 18. Бұл жұмыс кейбір dupli- жасайды

жауапкершілігі шектеулі қоғамдарының басшыларына, сондықтан біз телнұсқаларын тазалау үшін басқа жұмысқа іске қосылады.

6.9 Сегізінші блок: someValues ​​/ allValuesFrom схемасы

Ереже 15 және ереже 16. Осы екі ережелері: Бұл блокта біз соңғы екі ережелерін орындау

4 түрлі үштіктің арасында қосыла талап етеді. Олардың екеуі схемасы үштік болып табылады және

олар жадында жүктелуі мүмкін. басқа екі деректер үштік, сондықтан біз

Page 69

6.9. Сегізінші BLOCK: SOMEVALUES / ALLVALUESFROM SCHEMA

69

а «аңғалдық» жолмен қосылу орындау керек.

Әдеттегідей біз телнұсқаларын шектеуге топтау үшін үштіктің картасы кезеңін пайдаланады.

The, сондай-ақ көптеген элементтері бар екі бөлшектер («түрі» үштіктің көздейді қосылу бастап

және жалпы адамдар), біз үшін блок 6 пайдаланылатын қарағанда, сол трюк қолданылады

жадындағы барлық элементтерді жүктеу үшін болдырмау. Біз реттелуіне негізгі бір байттан қосу

(Жалау «T» немесе «W»), содан кейін, арнайы хеш-кодын және сұрыптау функциясын пайдалану,

Біз алғаш рет «түрі» үштіктің қою м ндер тізімін сұрыптау мүмкіндігі болып табылады.

Егер Үш «түрі» бірі болып табылады, ол тек объектісі салыстырылуы мүмкін,

сондықтан түрлендіргіш пернесі және тақырыбына шығару тек бір қойылуы болады

құны ретінде нысан. Жағдайда үш жалпы болып табылады, ол арқылы салыстырылуы мүмкін

комбинациясы «пәні + предикат» (ереже 16) немесе аралас «нысан +

предикат «(ереже 15). Сондықтан, карта алгоритмі ерік шығу екі луын, бір

негізгі және дәйектілігі «предикат + объектісі» мәні ретінде, сондай-ақ субъектінің бар

кілт және мән ретінде дәйектілігі «предикат + пәні ретінде» объектісі өзге де.

алгоритм жүктер азайту бірінші «түрі»-ден астам жылжу жадында утраивается

мәндері. Содан кейін ол құндылықтарды туын тексереді және керекті қолданылады

оған сәйкес ереже. Жағдайда туы алгоритмі логикасын қолдануға болады 1

16-ереже, әйтпесе ол әдетте 15 бірін қолдануға болады.

Әдетте 15 жағдайда предикат болып табылады ма редукторы бірінші тексереді

«onProperty» схемасымен мәнге сәйкес қамтылған. Оны жасайды кезде

одан әрі «onProperty» мәндері ғана матч алынған ма тексеру жалғасуда

«someValuesFrom» схемасымен. Бұл алынған мәндер

соңғы Сәйкес бұдан бұрын жүктелген «түрі» үштіктің тексеріледі

жад. Барлық осы Сәйкес, алгоритм табысқа үшін маңызы бар болса,

жаңа үштік алса.

Әдетте 16 жағдайда алгоритм алғашқы «пиязды қарсы предикат сәйкес келеді

Жылжымайтын мүлік «схемасы. дәл осы қосылу оралды мәндер одан әрі салыстырылады

«allValues» схемасына және «түрі» үштіктің қарсы шығу құндылықтардың қарсы.

Сол сияқты бұрын, барлық осы алгоритм табысқа сәйкес алса кезде

жаңа есептілігі.

Екі ережелер рекурсивті болып табылады және бұл біз әзірге тапсырмасын бірнеше рет іске қосу керек дегенді білдіреді

біз барлық алынған болды. Кейін, біз телнұсқаларын тазалау үшін жұмысқа іске

бұл алдыңғы жұмыс кезінде шығарады болды.

Бұл соңғы блок есептеу негізгі алгоритм оты рады аяқталғаннан кейін

ол сегіз орындау кезінде кейбір жаңа үштік алынған ма реттегіштер

блоктар. Жағдайда, ол бұл қайтадан бірінші блогын жүзеге асыратын топтамасын асқындырады жоқ.

Page 70

70

MAPREDUCE функциялары ретінде 6-тарау OWL Пайдасына

Алгоритм 19 OWL: сегізінші блогы, кодтау ережелері 15,16

Картада (басты, мәні):

// Кілт: маңызды емес

// Мәні: енгізу үштік

содан кейін, егер: (түрі мәні предикатты = RDF).

outKey = мәні. пән + 'T'

outValue = '0' + мәні. зат

шығару. (outKey, outValue) жинау

тағы

outKey = мәні. пән + 'W'

outValue = '1' + мәні. предикат + мәні. зат

шығару. (outKey, outValue) жинау

outKey = мәні. нысан + 'W'

outValue = '2' + мәні. предикат + мәні. пән

шығару. (outKey, outValue) жинау

(кілтін итератора мәндерін) азайту:

// '' Түрлері 'ресурстың барлық түрлерін қамтитын болады

// Кілт

түрлері. бұлттылық ();

ал (мәндер hasNext және мәні [0] = 0)

Келесі мәні = құндылықтар

түрлері. (мәні) қосу

(мәндер hasNext), ал

Келесі мәні = құндылықтар

// «OnProperty 'схемасымен предикат сәйкес

onProperties = onPropertySchema. (мәні. предикат) алу

(onProperties жылы onProperty) үшін

(мән [0] = 1), содан кейін // ереже 16 болса,

түрлері (егер., содан кейін (onProperty) бар

allValues ​​= allValuesSchema. (onProperty) алу

(allValues ​​жылы allValue) үшін

шығару. бос (жинау,

Triple (мән тақырыбы, RDF. түрі, allValue)

басқа // әдетте 15

someValues ​​= someValuesSchema. (onProperty) алу

(someValues ​​жылы someValue) үшін

түрлері (егер., содан кейін (someValue) құрамында

шығару. бос (жинау,

Triple (мән тақырыбы, RDF. түрі, onProperty)

Page 71

7-тарау

Нәтижелер

Бұл тарауда біз алгоритмдер біз спектакльдер талдау есеп

ұсындым. 7-бөлім .1 есептер қоршаған кейбір техникалық сипаттамалары

біз сынақтарын жүргізді, онда ортаға. Бөлім 7.2 қойылымдар хабарлайды

алынған және олардың бағалау.

7.1 Тәжірибелер параметрлері

Бағдарламаның бағалау үшін біз Вриже кезінде кластерлік DAS3 пайдаланды

Universiteit

1 1

. Ол 85 түйіндер, екі қос өзегі жабдықталған әрбір кластер болып табылады

Негізгі жады және 250GB қатты дискінің 4 Гб процессорлар. түйіндері болып табылады

Gigabit Ethernet арқылы өзара.

Біз jobtracker және бір бір түйінді қорға бір Hadoop кластерді орнату

namenode арналған түйін. Біз ауқымды үшін құл айнымалы сомасын пайдаланылған

1-ден 64-ке дейін басталатын тест.

әзірленді бағдарламалар Java 1.6 жазылған және олар пайдаланатын

Hadoop туралы 0.19.1 нұсқасы. бағдарламалары Интернетте жалпыға қолжетімді болып табылады

2 2

.

7.2 Ойынның нәтижесi

Біз үш бөліктен секциясын бөлдік. Бөлімше 7.2.1 біздіңше хабарлайды

formances болды сөздік кодтау алгоритмі бағалау

ұсынылған 4.4 . Бөлімше 7.2.2 қойылымдар және бағалауды хабарлайды

RDFS reasoner туралы. Бөлімше 7 .2.3 есептер қойылымдар мен қысқаша

OWL reasoner талдау.

1 1

http://www.cs.vu.nl/das3

2 2

https://code.launchpad.net/jrbn/+junk/reasoning-hadoop

71

Page 72

72

7-тарау НӘТИЖЕЛЕР

7.2.1 Сөздік кодтау қойылымдар

сөздік кодтау алгоритмі деректерді кодтау үшін екі MapReduce жұмыс орындарын пайдаланады

жаңа астам жинақы форматында. Біздің алгоритмі жүктеуді теңдестіру проблемаларды көрсетеді

біз орнына толық мәтінді үштіктің идентификаторларын пайдалану фактісі шектеулі екенін, бірақ

әлі күнге дейін үлкен енгізу сақталады. Бұл мәселені шешу үшін біз бар кэшін енгізілді

жүктемені теңгеру көмектесу үшін ең танымал ресурстары. Алайда, іс, біз

кэшін пайдалануға шешеді, біз салуды бірінші қосымша жұмысты іске қосу үшін қажет

Кэш. Осы тапсырма алады, бұл уақыт артықшылығы біз үркітеді тиіс

сөздік кодтау кезінде оны пайдалану пайда.

Біз кэшті пайдалану шешеді ме, немесе, алгоритм талап қандай

ауқымды болуы тиіс емес. Біз алгоритм ауқымдылығы өлшенеді болды

түрлі кіріс мөлшері мен әр түрлі түйіндердің бар.

Біз 7-суретте есеп .1 Т ол кірісті түрлі ауқымдылығы сынау нәтижелері

кэш бар және жоқ өлшемі. Сол сияқты, суретте 7.2 біз есеп

Біздің алгоритмі спектакльдер тіркелген кіріс мөлшерін сақтай отырып, бірақ әр түрлі пайдалана отырып,

түйіндердің саны.

Сурет 7.1: Кіріс мөлшерін түрлі сөздік кодтау Масштабтылық сынақ

Осы графиктер біз қашан біз алгоритм жақсы орындайды қалай көруге болады

кэшті пайдаланыңыз. Бұл мінез-құлық, себебі есептеу кэштау жоқ деп күтілуде

жылдамдығы жүктеуді теңдестіру проблемасын әсер етеді. Біз кэшті енгізу кезінде,

біз жоюға немесе, кем дегенде, жүктемені теңгеру мәселесі мен ауқымдылығы шоу азайту

Page 73

7.2. НӘТИЖЕЛЕР

73

Сурет 7.2: түйіндер санын өзгерту сөздік кодтау Масштабтылық сынақ

Page 74

74

7-тарау НӘТИЖЕЛЕР

мінсіз дерлік желілік.

Сөздік кодтау кезінде кэшті пайдалану үшін, біз алдымен іске тиіс

енгізу ең танымал ресурстарды санайды қарапайым MapReduce жұмыс.

Біз осы жұмысқа, сондай-ақ ауқымдылығы талап әйтпесе үлкен пайдаланылуы мүмкін емес

енгізу. Осы себепті біз осы жұмысқа қойылымдар өлшенеді болды

түрлі кіріс өлшемдері мен нәтижелері суретте келтірілген 7. 3. Біз бұл жасасуға

бұл желілік ауқымдылығы көрсетеді, себебі, сондай-ақ бұл жұмыс жақсы таразы.

Кэшін құрылыс Масштабтылық: 7.3-сурет

Әзірге біз кэш Әл қойылымдар арттырады көрдік

орындау мерзімін және ауқымдылығы тұрғысынан да gorithm. Сондай-ақ,

кэшін салып алгоритм ауқымды болып шықты. Figur жылы E 7 .4 біз шығарды

сөздікті орындау уақыт кэшін құрылыс уақыты

кодтау және біз жоқ алгоритм орындау уақыты, оны салыстырғанда

Кэш. мақсаты кэшті пайдалану тұр ма немесе жоқ бағалау

жалпы орындау мерзімін. Яғни, біз көре аламыз екі сомасы болып табылады

ҚазҰУ әрқашан ұзақ ғана пайдаланбай алгоритм орындауға қарағанда

Кэш. Яғни, біз, осы нәтижелеріне жасасуға кэш жақсартады, бірақ, бұл

Алгоритмнің ауқымдылығы, ол жалпы орындау, өйткені пайдалану қажеті жоқ

ұзақ ғана кэш жоқ пайдалану алгоритмі артық.

Ол біздің жағдайда жүктемені теңгеру орындайтынын болуы мүмкін арналған түсіндіру

Кэшті ақтау үшін сонша зақым жоқ. Алайда, бұл сондай-ақ, бұл тапсырма болуы мүмкін

Page 75

7.2. НӘТИЖЕЛЕР

75

кэшін құрылыс жалпы тым баяу болып табылады және ол аз болуы ешқашан

пайда кэшін арқылы алынған.

Кэшін пайдаланып, сондай-ақ ескере отырып, оны пайдалану емес арасындағы Жанр: 7.4-сурет

кэш құрылыс уақыты

Бір соңғы талдау кэш өлшемін әртүрлі және бар болса көре жасалуы мүмкін

Спектакльдердің елеулі өсуі, біз үлкен кэшті пайдалансаңыз. Осы мақсат үшін

біз түрлі кэш өлшемін пайдаланып сөздік кодтау бірінші тапсырманы іске қосты.

Біз кэш өлшемін ұлғайту, егер біз жақсы дейін қойылымдар алу деп күтілуде

белгілі бір шегі. Өйткені кейін, кез-келген елеулі айырмашылық бар болуы тиіс,

Әйүп жеткілікті теңдестірілген болуы тиіс. Біз тест өткізді және біз хабарлады

суретте нәтижелері 7.5 . Бұл графиктің бастап көріп отырғанымыздай, нәтижелері көрсетеді

бастапқы күтулер: орындау уақыты 15 элементтерінің дейін күрт төмендейді,

содан кейін уақыт аз азаяды және ол 50 және 100 элементтері арасындағы тұрақтандырады. Біз

Бұл енгізу үшін тамаша кэш мөлшері 10 арасында болуы тиіс екенін одан жасасуға

және біз енді кез-келген жеделдетуге ие емес, себебі кейін 50 элементтері.

Қойылымдар негіздеу 7.2.2 RDFS

Біз RDFS өнер бағалау үш аспектілерін қарады ережесін

Soner.

бірінші дұрыстығы болып табылады. Әлбетте, бұл алгоритм нәтиже керек

Page 76

76

7-тарау НӘТИЖЕЛЕР

Әр түрлі кэш өлшемін пайдаланып Жанр: 7.5-сурет

Page 77

7.2. НӘТИЖЕЛЕР

77

Dataset

Енгізу

Шығу

Exec. уақыт Rel. StDev

WordNet

1.942.887

3.004.496

2m25s

9,8%

DBPedia

150.530.169 21.447.573

2m44s

4,1%

Сұңқар

32.512.291

832.412.298

4m35s

1,1%

Swoogle

78.839.999

1.431.765.550

6m33s

0,7%

1B байқауы 864.846.753 29.170.100.223 58m43s

1,9%

Кесте 7.1: түрлі жиынтықтар қойылымдарға RDFS reasoner

дыбыс және толық болып табылады және біздің бірінші қамқорлық, оны тексеру болды. Біз бірінші өндірілген

Кейбір сынақ жағдайлары және шығыс дұрыс екенін тексерген. Содан кейін біз салыстырғанда

осы сомаға шағын онтология (WordNet) бойынша алынған үштіктің сомасы

Кейбір елеулі болды көру үшін, егер бұрыннан бар алгоритмі алынған

айырмашылықтар. Біз кез келген қателік таба алмады, сондықтан да біз деп санауға болады

біз жүзеге асыру, бұл кепілдік бере алмаймыз, бірақ нәтиже өндірді, дұрыс

қате тегін болып табылады.

Екінші аспект тұрақтылық болып табылады. Біз бөлінген жүйесін пайдаланатын болғандықтан, бұл әсері

Біздің алгоритмі сенімді маңызды, әрқашан шамамен бір уақытта аяқталатын.

Осы себепті біз әрбір тест үш рет қайталанады және біз орташа алды

және нәтижелері стандартты ауытқуы.

үшінші аспекті ауқымдылығы болып табылады. біз дамыған бағдарламасы болуы керек

ауқымды, бұл біздің сұрау болып табылады. Ауқымдылығы бағалау қиын, бұл

ол көрсетілгендей кіріс мөлшері қарсы көп деректер байланысты, өйткені

өзі. Біз түрлі өлшемдегі түрлі жиынтықтар туралы reasoner тексерілген және бізде бар

өлшеу хабарлады. Біз, сондай-ақ пайдалана отырып, қойылымдар сыналды

енгізу және базаның түйіндердің мөлшерін өзгерту сияқты деректер жиынтығы.

Біріншіден, біз содан кейін біз басқа түйінді қосылды, 1 түйіннің басталды, сондықтан, біз дейін

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]