- •I also would like to thank Frank van Harmelen who offered me a job and Мен сондай-ақ маған жұмыс ұсынды және кім Франк Ван Harmelen алғысымды білдіргім келеді
- •1.2 Parallel and distributed reasoning 1.2 параллель және таратылған пайымдау
- •2.6 The MapReduce programming model 2.6 MapReduce бағдарламалау моделі
- •100 1 Млн Құрылғыны пайдалану үштіктің мен нәтижелері sublinear ауқымдылығы көрсетеді.
- •3.3 Сөздік кодтау
- •4.1 Неге біз сөздік кодтау мұқтажбыз
- •140Mb туралы, бұл әлі күнге дейін нақты машиналар үшін мүмкін, бірақ аз емес сома болып табылады
- •300 Млн бірегей ресурстары. Мөлшерін, біздің алдыңғы баға жасай отырып,
- •4.4.1 Шолу
- •3 Тапсырма өз міндеті id кодтау байт. Міндет id маркер өзіндік ретінде әрекет
- •Id және мәні ретінде үштік толық емес тіпті редукторы өңдеуге бар, сондықтан
- •13 Біз, өйткені тіпті біз жабу есептеу тіркелген нүктеге жетті
- •5.4 Үшінші және қорытынды жүзеге асыру
- •ValuesToMatch. (мәндер) қосу
- •Inverseofproperties (егер. (мәні бар. Береді,), содан кейін
- •6.4 Үшінші блок: sameAs есептілігі
- •6.5. Төртінші блок: сыныбы және subproperty есебіне 61 эквиваленттік
- •6.5 Төртінші блок: сыныбында бастап эквиваленттік және
- •6.7 Алтыншы блок: мұраға сияқты
- •6.8 Жетінші блок: hasValue мәлімдемелер
- •64 Тораптар келді.
- •12 Сағат, 130 жұмыс орны іске қосылды және астам 3.8b үштіктің алынған.
ValuesToMatch. (мәндер) қосу
// Superproperties ISA hashset
(valuesToMatch жылы valueToMatch) үшін
superproperties. (схема үштіктің. рекурсивті алу (valueToMatch)) қосу
(егер негізгі [0] == 0), содан кейін
// Ереже 5
(superproperties жылы superproperty) үшін
(valuesToMatch. содан кейін (superproperty) құрамында емес, егер
шығару (нөл, үш (негізгі тақырыбы, rdfs. subPropertyOf, superproperty))
тағы
// Ереже 7
(superproperties жылы superproperty) үшін
! valuesToMatch (егер., содан кейін (superproperty) болуы
шығару. жинау (нөл, үш (кілті. пәні, superproperty, кілт. қарсылық))
newTriple. предикат = superproperty
шығару (нөл, newTriple)
Page 49 |
5.4. Үшінші және соңғы ЖҮЗЕГЕ АСЫРУ
49
Алгоритм 8 RDFS пайымдау: үшінші нұсқасы, екінші тапсырма
Картада (басты, мәні):
// Кілт: маңызды емес
// Мәні: үштік
содан кейін (домен схема. (мәні. береді,) қамтиды), егер
newValue. ту = 0
newValue. ресурс = мәні. предикат
шығару. (мәні. тақырыпты newValue) жинау
содан кейін (ауқым схемасы. (мәні. береді,) қамтиды), егер
newValue. ту = 1
newValue. ресурс = мәні. предикат
шығару. (мәні. нысан newValue) жинау
(кілтін итератора мәндерін) азайту:
(құндылықтар құнының) үшін істеу
мәні болса. туы = 0 болса, онда
// Доменде тексеріңіз
түрлері. (домен схемасын. (мәні. ресурс) алу) қосу
тағы
түрлері. (ауқым схемасын. (мәні. ресурс) алу) қосу
(түрлері түрі) үшін істеу
шығару. бос (жинау,
Triple (негізгі ресурс, RDF. түрі, түрі))
Page 50 |
50
MAPREDUCE функциялары ретінде 5-тарау RDFS Пайдасына
Алгоритм 9 RDFS пайымдау: үшінші нұсқасы, үшінші тапсырма
Картада (басты, мәні):
// Кілт: маңызды емес
// Мәні: үштік
шығару (құны, кілті. isDerived)
(кілтін итератора мәндерін) азайту:
(құндылықтар құнының) үшін
(қате = мәні), онда
шығу
шығару. (негізгі, NULL) жинау
Үшінші жұмысты 5.4.4: телнұсқаларын тазалау
екі жұмыс орны бұрын енгізу қарсы кейбір қайталанатын жазбаларды жасай аласыз. Бұл
Әйүп біз тек бірегей алынған үштіктің үнемдеу, сөзқұру тазалау. құрылым
Бұл жұмысқа қарапайым болып табылады. түрлендіргіш үштіктің оқиды және пернесі ретінде оларды орнату
аралық луын. Triple алынған немесе жалған болса, мән ретінде шынайы орнату
жағдайда, бұл бастапқы болды. Әрбір үштік үшін біз бұл алынған білу немесе жоқ
біз дискідегі оларды сақтауға кезде біз олар болған жағдайда оларды туы, өйткені
кіріс немесе алынған.
құндылықтарды астам редукторы жай Итерация және ол тек, егер үш есе қайтарады
бұл білдіреді, өйткені құндылықтар арасындағы кез-келген «жалған» табады емес
Triple енгізу, сондай-ақ болды. алгоритм алгоритм хабарлайды 9.
Төртінші жұмысты 5.4.5: сыныбында ережелерін орындау
соңғы тапсырма құрушының сәл осы жұмысқа ережелерін 8, 9, 11, 12 және 13-орындайды
бұрын жұмыс орындарын қарағанда әр түрлі. Алдыңғы жағдайларда картография жоғын тексеріңіз
Кіріс азайту оларды экспедиторлық бұрын схемасымен матч утраивается.
Бұл операция редукторлар жіберіледі үштіктің санын жоятын, бірақ
енгізу қарсы қайталануын үшін ашық есік қалдырады.
Мұнда біз үштік кірісін тексеру емес, бірақ оның орнына біз бәрін қайта жіберу
редукторы. Осылай біз сондай-ақ кіріс қарсы телнұсқаларын жоюға болады
және, демек, телнұсқаларын тазалау тұрған екінші тапсырманы іске қосу үшін болдырмау.
Бұл таңдау кемшілігі редукторы барлық деректерді өңдеуге бар екенін
енгізу, үш схемасына сәйкес келмейтін болса да. Алайда, бұл жұмыс
деректерді ішкі жиынын («түрі» мен «сыныбында» үштік) және кезінде ғана жұмыс істейді
біз сәл көбірек редукторы жұмысты мүмкіндік болса, ол тез екенін байқаған біздің тестілер
Найзағай осы жұмысты және шығару сүзу үшін басқа тапсырмасын орындаңыз.
Қалған құрылымы бұрын жұмыс орындарын қарағанда ұқсас. Біз тобы
содан кейін үштік және біз азайту кезеңінде туынды өтеді. қайта
Page 51 |
5.4. Үшінші және соңғы ЖҮЗЕГЕ АСЫРУ
51
өндірушілердің жадында сыныпқа үштіктің және rdfs қосалқы мүлікті салыңыз: мүшесі.
соңғы үштік әдетте 12 туынды үшін қажет.
ережелер 8, 12 және 13 екі үштіктің арасында қосыла қажет емес. Біз не
енгізу немесе біз үштік таба алынған hashset егер жай тексеру ма
бұл ережелер Өткен бірінде келеді. Біз бір тапсаңыз, онда біз тексеру
біз шығаруға еді шығу қазірдің өзінде кіріс (әдетте бар ма бірінші
12 rdfs пайдаланып: мүшесі қосалқы меншік үштік) немесе біз сол шығаруға еді, егер
Әдетте 11 арқылы (біз сыныбында схемасын тексеру, әдетте 8 және 13 Мұны істеу). Жылы
іс барлық жағдай біз жаңа үштік ол көз болып табылатын алуға болады, ұстап тұрыңыз
кірісі бар телнұсқасын емес болуы.
алгоритм алгоритм хабарлайды 10.
Бесінші тапсырма 5.4.6: одан әрі процесс шығу арнайы ережелер
Бөлімінде сипатталғандай 5.3. 1-ережелер 8, 12 және 13, кейбір шығысын жасай аласыз
басқа төркіні әкелуі мүмкін болады. Бармақпыз әдетте 8, атап айтқанда, тағы
Кейбір сыныптар сыныптар немесе rdfs екенін шығарып: Ресурс. Біз аламыз әдетте 12 көмегімен
Кейбір қасиеттері rdfs тармақшасында сипаттары екенін қорытындылауға: мүшесі және кейбір басқа
үштік, оларға осы байланыс мұра мүмкін. Сондай-ақ, әдетте 13 біз бұл алуға болады
әріптік: кейбір сыныптар rdfs сыныбында болып табылады. Бұл арнайы жағдайлары ортақ емес
біз веб мазмұны тексеріліп және осындай үштік болып табылады, егер ол даулы деректерді
пайдалы (әріптік тармағы болып табылатын сияқты) немесе жоқ. Біз бұл жұмысты жүзеге асырдық
бұл ақпараттың соңғы бит алса, бірақ бұл ережелер өте сирек, өйткені,
Әйүп алдыңғы олардың жекелеген түрлерін жасайды, тек егер басталады. Жағдайда пайдаланушы болып табылады
Бұл «ерекше» туынды қызықты және уақытты үнемдеуге келеді, бұл жұмыс мүмкін емес
өткізіп болады.
Тапсырманың құрылымы алдыңғы қарағанда әр түрлі болып табылады. Түсіндіру үшін оның болсын
Мысал ретінде келесі іс қабылдайды. Біз енгізу осы үштіктің болуы мүмкін:
A RDF: түрі rdfs: ContainerMembershipProperty.
B rdfs: subPropertyOf A.
Біз қолданылады, онда тек біз А қосалқы меншігі болып табылады, бұл тек шығаруға 12 билік
rdfs: мүшесі. Біз оны алынған кейін Алайда, ереже, сондай-ақ 5-деп көрсете отырып, өрт болады
мүшесі: Сондай-ақ, B rdfs бағыныңқы меншігі болып табылады.
Сондай-ақ, осы екінші мәлімдеме алуға мақсатында картография бірінші жоғын тексеріңіз
ол объект ретінде бар объект ретінде немесе егер мүшесі: кіріс үш қосалқы меншік rdfs бар
rdfs тармақшасында меншігі болып табылады жылжымайтын мүлік: мүшесі. Екі жағдайда да, олар қайта жіберу болады
объектінің негізгі пән ретінде және мән ретінде орнату азайту үшін үш есе. The
олар rdfs таба егер редукторы іздеу мәндерді тексеріңіз: олардың арасында мүшесі.
Егер олар оны тауып, себебі енгізу шығару мәлімдеме емес болады
subPropertyOf rdfs: ол қазірдің өзінде негізгі rdfs сияқты мәлімдеме қолданыстағы мүшесі және
сондықтан да біз оны қайтадан жазу қажет емес. Ол жоқ болса, біз түсім керек
Біз жағдайда қосалқы меншік Triple жылдары, өйткені қорытынды жазу
нысан rdfs сәйкес келеді: мүшесі Triple пәндік және транзитивность ереже (ереже 5)
қолданылуы тиіс. басқа ережелер осылай жұмыс істейді. Бұл жұмыс жасайды
Page 52 |
52
MAPREDUCE функциялары ретінде 5-тарау RDFS Пайдасына
Алгоритм 10 RDFS пайымдау: үшінші нұсқасы, төртінші тапсырма
Картада (басты, мәні):
// Кілт: маңызды емес
// Мәні: үштік
. содан кейін теріңіз: (мән предикатты = RDF егер
пернесі. ту = 0
пернесі. мәні = мәні. пән
шығыс (негізгі, мәні. нысан)
. мән (егер предикатты = rdfs: subClassOf, содан кейін
пернесі. ту = 1
пернесі. мәні = мәні. пән
шығыс (негізгі, мәні. нысан)
(кілтін итератора мәндерін) азайту:
(құндылықтар құнының) үшін істеу
inValues. (мәні) қосу
(inValues құнының) үшін істеу
суперклассах. (сыныбында схемасы. рекурсивті алу (мән)) қосу
(суперклассах жылы суперклассе) үшін істеу
(егер! құндылықтар. содан кейін (суперклассе) құрамында
(басты. жалау = 0), содан кейін // ереже 9 егер
шығару. (жинау
нөл, үш (негізгі тақырыбы, RDF. түрі, надклассового))
басқа // әдетте 11
шығару. (жинау
нөл, үш (негізгі тақырыбы, rdfs. subClassOf, надклассового))
// С PE қаржылық ережелерін тексеріңіз
. Class): ((надклассового (rdfs болса,
немесе inValues. (rdfs: класс) қамтиды)
және схеманы сыныбы емес. (пернені. пән) алу. (rdfs: Ресурс) қамтиды)
содан кейін // ереже 8
шығару. (жинау
нөл, үш (. басты тақырып, rdfs: subClassOf, rdfs: Ресурс)
.) ContainerMembershipProperty: ((надклассового (rdfs болса,
немесе inValues. (rdfs: ContainerMembershipProperty) қамтиды)
және мүше схемасын subprop емес. құрамында (негізгі. пән))
содан кейін // ереже 12
шығару. (жинау
нөл, үш (. басты тақырып, rdfs: subPropertyOf, rdfs: мүшесі)
.) мен дерек түрлерінің: ((надклассового (rdfs болса,
немесе inValues. (rdfs: Dataype) қамтиды)
және схеманы сыныбы емес. (пернені. пән) алу. ): (L iteral rdfs) құрамында
содан кейін // ереже 13
шығару. (жинау
нөл, үш (. басты тақырып, rdfs: subClassOf, rdfs: L iteral)
Page 53 |
5.4. Үшінші және соңғы ЖҮЗЕГЕ АСЫРУ
53
біз барлық тиісті кіріс утраивается қайта жіберу, өйткені, кез келген дубликатын жасау емес
сондықтан басқа тазалау тапсырманы іске осу шін қажеті жоқ.
алгоритм алгоритм хабарлайды 11.
Page 54 |
54
MAPREDUCE функциялары ретінде 5-тарау RDFS Пайдасына
Алгоритм 11 RDFS пайымдау: үшінші нұсқасын бесінші тапсырма
Картада (басты, мәні):
// Кілт: маңызды емес
// Мәні: үштік
мәні болса. предикатты = rdfs: subPropertyOf, содан кейін
мәні болса. нысан = rdfs: мүшесі немесе
memberProperties. содан кейін (мәні. қарсылық) құрамында
шығару. жинау ('1' + мәні. пәні, мәні. қарсылық)
мәні болса. предикатты = rdfs: subClassOf, содан кейін
мәні болса. нысан = rdfs: L iteral немесе
мағынадағы S ubclasses. содан кейін (мәні. қарсылық) құрамында
шығару. жинау ('2' + мәні. пәні, мәні. қарсылық)
elseif мәні. нысан = rdfs: Ресурс немесе
resourceSubclasses. содан кейін (мәні. қарсылық) құрамында
шығару. жинау («3» + мәні. пәні, мәні. қарсылық)
memberProperties болса. құрамында (мәні. береді,) немесе
мәні. предикатты = rdfs: мүшесі, содан кейін
шығару. жинау («4» + мәні. пәні, мәні. қарсылық)
(кілтін итератора мәндерін) азайту:
(құндылықтар құнының) үшін
Мағына = rdfs: мүшесі немесе
мәні = rdfs: L iteral немесе
мәні = rdfs: содан кейін Ресурс
шығу
қосқышы (басты [0])
іс '1':
шығару. бос (жинау,
Triple (негізгі ресурсы rdfs. subPropertyOf, rdfs: мүшесі)
іс «2»:
шығару. бос (жинау,
Triple (. кілт ресурс rdfs: subClassOf, rdfs: L iteral)
іс «3»:
шығару. бос (жинау,
Triple (негізгі ресурсы rdfs. subClassOf, rdfs: Ресурс)
іс «3»:
шығару. бос (жинау,
Triple (негізгі ресурсы rdfs.:. мүшесі, негізгі resource2)
Page 55 |
6-тарау
Сондай-ақ OWL пайымдау
MapReduce функциялары
Бұл тарауда біз OWL пайымдау үшін бастапқы алгоритмі ұсынамыз. Біз іске
су Хорст фрагменті ұсынған ережелерін пайдаланып керлік OWL пайымдау. Осы
ережелер, өйткені RDFS гөрі, іске асыру үшін неғұрлым күрделі болып табылады:
• Кейбір ережелер үш немесе тіпті төрт түрлі үштіктің арасында қосыла талап етеді. Көру
мысалы, әдетте 14b немесе 16;
• Кейбір ережелер қосылу сол екі көптеген бар екенін екі жинақтарын арасындағы талап
үштік. Яғни, біз үшін жасадық, біз жадында бір жағын жүктеу мүмкін емес дегенді білдіреді
RDFS схемасы үштіктің;
• ережелер әрбір басқаларға байланысты және ешқандай ереже тапсырыс жоқ бар
цикл.
Осыған байланысты, біз үшін енгізілген оңтайландыру қолдануға мүмкін емес
RDFS пайымдау және біз үшін басқа оңтайландыру ойлап тиіс
тиімді алгоритм ұсынады. ұсынылған алгоритмі қарабайыр мемлекет болып табылады,
тек бірнеше оңтайландыру енгізілді бар.
Төмендегідей Бұл тарауда ұйымдастырылады: бірінші бөлімінде 6.1 , біз қамтамасыз етеді
Алгоритмнің толық шолу, кейінірек, келесі бөлімдерде, біз, ал
егжей-тегжейлі оның әрбір бөлігін неғұрлым түсіндіреді. Бұл алгоритм іске асырылды
және екі кішкентай деректер сыналған. спектакльдер бөлімінде баяндалды
7.2.3.
6.1 шолу
су Хорст фрагменті ұсынған ережелер кестеде келтірілген 2.2.
ережелер, олар бірдей схемасын қолдансаңыз, байланысты сегіз блоктарда топтастырылады
үштік, немесе олар ұқсас шығыс қайтармайды жағдайда.
55
Page 56 |
56
MAPREDUCE функциялары ретінде 6-тарау OWL Пайдасына
Сегіз блоктар қамтылған жұмыс орындарын біреу астам орындалады
уақыт, бір өту толық жабу есептеу үшін жеткіліксіз болып табылады.
Басқа тапсырма тек бір рет орындалады, бірақ олар телнұсқаларын өндіретін және біз керек
оларды сүзу үшін қосымша жұмысты іске қосу үшін.
ережелер орындау блоктар орындалады негізгі цикл тұрады
кем дегенде екі есе. Біз кез-келген жаңа шығаруға емес, барлық жұмыс орындарын дейін ілмектер қайталау
Triple. Сол сәтте біз толық жабу есептелген көз болуы мүмкін
және біз орындалуын тоқтатуға болады. 6-сурет .1 есептерді графикалық бейнесі
алгоритмі. Суретте біз сегіз блоктарын цикл орындалады қалай көруге болады
біз жаңа мәлімдеме алу тоқтағанша.
Біз толық ақпарат осы әр көбірек сипаттау барамыз келесі бөлімдерде
блоктар. Біз алгоритмі жоққа жалған коды алгоритмдері есеп береді
Бұл алгоритм кезінде бірдей пайдаланылады, себебі кім телнұсқаларын жояды
RDFS пайымдау және ол қазірдің өзінде 5-бөлімде таныстырылды .4.4.
6.2 Бірінші блок: қасиеттері мұраға
атқарар бірінші Ережелер Ережелер 1, 2, 3, 8а және 8b болып табылады. Бұл ережелер қатысты
мәлімдемелерінің қасиетіне негізделген белгілі бір қорытындылар туынды. Үшін
мысал предикат біз үштік жазуға болады симметриялық ретінде анықталады, егер
бұл предикат пәні мен объектісі алмасу. Ереже 1, 2 және 3-жоқ,
рекурсивті. Бұл олардың шығу ережелері кіріс ретінде қайта мүмкін емес екенін білдіреді. Ереже
8a және 8b рекурсивті, бірақ біз схема үштіктің (р inverseOf Q) сақтауға болады
жад және рекурсивті бір өту барлық есептілікті шығаруға.
алгоритм мынадай болып жұмыс істейді. Бірінші картография жадында схемасын салыңыз
ережелерін орындау үшін қажетті үштік. Бұл үштік мүлік анықтау
қасиеттері кері және функционалдық, кері функционалдық және симметриялық тізімі
қасиеттері. Кіріс схемасына матчты утраивается егер картография тексеру және
жағдайда олар редукторлардың жіберіледі жоқ.
Картада алгоритм олар соншалықты үштіктің кодтау кейбір кортежи шығарады
алынған телнұсқаларын санын шектеуге. алгоритм үшін туын береді
онда әдетте байланысты негізгі қолданылуы мүмкін. Бұл операция жасалады
RDFS пайымдау және ұрпақ болдырмау үшін мақсаттарға қарағанда ұқсас тәсілі
телнұсқаларын.
редукторы алгоритмі жад деректер мәндерді жүктеуге бірінші бастайды ғимараттарды
Әлеуетті телнұсқаларын жою мақсатында температура. Кейін, ол алған жалғастыруда
ақпаратты пайдалана отырып, нақты ереже қисынына сәйкес жаңа есеп,
негізгі және схема үштіктің жылы.
Бұл жұмысқа барысында біз сондай-ақ мақсатқа 4. Ережені өрт болады үштіктің өңдеуге
ықтимал басқа ережені 4 өрт болады үштіктің бөлу болып табылады. Олай істеу үшін
жадында картасы алгоритмі жүктер өтпелі қасиеттері үшін схема үштік
және ол арнайы қалтасында осы схемаға қарсы сәйкес үштіктің сақтайды. Ереже
4 Келесі блогында орындалатын болады, бірақ бұл біз көп тапсырманы іске талап
біз осы кезеңде кіріс үштік с зу, егер есе, сондықтан, келесі блок болады
тезірек ол барлық кірісті, бірақ тек ішкі жиынын оқып қажеті жоқ, өйткені
Page 57 |
6.2. Бірінші блок: ҚАСИЕТТЕРІ мұрагерлік
57
Сурет 6.1: Owl reasoner шолу
Page 58 |
58
MAPREDUCE функциялары ретінде 6-тарау OWL Пайдасына
Алгоритм 12 OWL: бірінші блок, кодтау ережелері 1, 2, 3, 8а және 8b
Картада (басты, мәні):
// Кілт: маңызды емес
// Мәні: енгізу үштік
егер (функционалдық қасиеттері. қамтиды (мәні. береді,), содан кейін
кілт = '0' + мәні. пән + мәні. предикат
шығару. (кілтін мәні. нысан) жинау
қамтиды. кері функционалдық қасиеттері (егер (мәні. береді,), содан кейін
кілт = '0' + мәні. нысан + мәні. предикат
шығару. (кілтін мәні. тақырыпты) жинау
қамтиды. (симметриялық қасиеттері болса, (құн. береді,), содан кейін
кілт = '1'
+ Мәні. пән + мәні. зат
шығару. (кілтін мәні. предикат) жинау
