Ф-жоокб-01/018 Қазақстан республикасы білім және ғылым министрлігі



бет31/41
Дата30.06.2020
өлшемі1,47 Mb.
#74729
түріДиссертация
1   ...   27   28   29   30   31   32   33   34   ...   41
Байланысты:
Дуйсенбаева Айнур

2.3 Графтық модельдер.
Граф - (Graph Data Representation Model - GDRM) мәлiметтерлерiн ұсынуын бағдарлалған үлгiсi еңдердiң бiрлерi органикалық болып көрiнедi және кез-келген мәлiметтерлерiн ұсынуы үшiн кербез структурлерi және өзара байланысы. Күштi байланған мәлiметтерлердi ұсыну үшiн әсiресе жақындайды және жағдай сол, мәлiметтерлерде байланысты қашан өздерiнiң мәлiметтердей маңызды бейнелеу.[18,19]

Егер мәлiметтер жергiлiктi болса, мәлiметтерлердi граф ұсынуы өте тиiмдi, себебi байланыстар туралы мәлiметтер жергiлiктi жерлерде тiкелей кодтала алады, жадта тiкелей. Не анық, қарағанда бiзге артық жергiлiктi мәлiметтерлер, сол сауал орындаю тиiмдiрек. Граф - мәлiметтерлердi бағдарлалған үлгi мәлiметтерлердi құрылым вставки/изменения/удаления, жергiлiктi операцияларын тұрақты уақыт сонда реляциялық сол қамтамасыз ет жақсы көрсетедi егер жергiлiктi мәлiметтерлердi сан байланысты сызықты бәсеңдеу.

Жиынтығы, қайда онданың мәлiметтерлерiн граф ұсынуы маңызды суреттеуге пайдалануы керек және мәлiметтерлер, және олардың арасындағы байланыс. Және сiздiң мәселеңiздi шешiм қайда онда графтың түйiндерiнiң жергiлiктi мәлiметтерлерiн траверстi табуға болу. Бұл жағдайда тәсiлдiң мәлiметтерлерi ең бол тиiмдi және мiндеттiң шешiмi үшiн ограничен.

Негiзгi тұжырымдамалар

Графтың үлгiлерiн көпте болады - теориялық мәлiметтерлердi ұсынудың бағдарлалған үлгiлерi, сол сияқты жаттығу өткiзулерiн олардың. Теориялық үлгiлерде енгiзу Survey of Graph Database Models шолуда табуға болу. Жаттығу жобаларын жартылай шолуы бөлiмде төменде әкелiнген, "Ағайындас жобалары" бөлiмде.

Ендеше, игерiлген GDRM қалыптасатын: түйiндер, шың, қарым-қатынас, қасиет, граф негiзiн қалайтын тұжырымдамаларды қарап шығамыз, және жадтың үлгiсi.



Үшiн iргелi блоктер граф - (Node ) түйiн бұл бағдарлалған үлгiлерi – және олардың арасындағы (Relationship ) қарым-қатынас. Шың да, түйiндер де (Properties ) қасиет бiле алады. Түйiн мән жиiрек барлығы таныстырады, бiрақ заттар саласы байланысты бұл мақсат үшiн жұмсала алады және қарым-қатынас. Санмен көрсетiлген идентификатор түйiн барып тұр - индекс

.



Қарым-қатынас тiзiм, ағашты түрдiң графы графты беруге рұқсат берген кез келген құрылымдарда шыңды ұйымдастырады, немесе кез-келген басқа. Қарым-қатынас (Nodes ) түйiндердiң көбiн мүмкiн бiрлестiру, бiрақ әрқашан (Start Node ) бастапқы түйiнi болады, (End Node ) түпкi түйiн және түр. Қарым-қатынас түйiндей қасиет ие болу алады. Әр қарым-қатынас сирек кездесетiн бейне (name ) тiзбектiк есiм бойымен сәйкестендiрген (RelationshipType ) түр ие болады.



Егер бұл сiздiң қосымшаңыздың мақсаттары үшiн талап етсе кез-келген қарым-қатынас, бастапқы түпкiге бағытталған сияқты қарау мүмкiн анық емес. Түйiн қосымша олардың тәртiбiнде қарым-қатынасына өзге жағдайда қосылады, бағытталғандық елемеуге болады.Дәл осылай, түйiн өздерiне өзiге қарым-қатынас иемдене алады.



Қарым-қатынастардың мысалдарын қарап шығамыз. Жұптас қарым-қатынас (KNOWS ) «бiледi» екi түйiн қосады. Унарлық қарым-қатынас (мо ) «мен» ғана бiр шыңға жатады. BRSTU_ROBOTICS қарым-қатынас 5 вершин тұрды, және мүмкiн марқай немесе азаю. Кез-келген көп өлшемдi қарым-қатынас арасында жұптас қарым-қатынастар жиынтық ретiнде қарастыр барлық жұп бойынша тұрады - түйiн кiрушi оларға. Түйiн хо, сондықтан бiр түйiннiң алып тастауы порға сол дейiн қарым-қатынас алып тастау барлығы бағытталмады.

Қарым-қатынас та, түйiндер де (Properties ) қасиет иемдене алады. Кiлт Property интерфейс iске асыратын кез-келген объект мүмкiн болған кiлт бу бұл қасиет –, ал кiлт бойымен жарайтын мағына объектiлердiң қайсысы болса да. Кiлт есiм ие болады, бiрақ ол кiлттiң бiрдейлендiруi үшiн қатал болып көрiнбейдi. Кiлт ретiнде null мүмкiн емес болу, бiрақ кiлт бойымен мағынаның жоқтығы ұқсас рөл мүмкiн ойнау.



Мысалы, қасиет шың бойымен өту ықтималдық жолдың салмағы немесе созалаңқы шыңның есiмi бола алады және түйiн тағы басқалар және дерекқор бағдарлалған мәлiметтерлерiне кестелерi жазба ретiнде қарастыры граф мүмкiн қасиет бар қарым-қатынас.



Граф - мәлiметтерлердi ұсынудың бағдарлалған үлгiсi. Бәрi жинақтай, граф қарым-қатынас бiрiккен түйiндерден тұрады және мәлiметтерлердi сақтайтын свойствтың олармен ассоциацияланған кестелерi. Қарым-қатынастардағы байланысы кез-келген бағыттардағы графтарындағын аралап шығу үшiн пайдалана алады.

Граф тебетейiлген (ғана қабырғалар ретiнде - жұптас бағытталған доғалар) құрылыммен және свойствтың ие кестелерiмен шыңдармен ассоциацияланған және қабырға Propery Graph ғылымда деп аталады.

Граф құрылымын қарым-қатынастардың суреттеп айтылған түрлерiмен және түйiн ендi жасауға болады және қолданбалы қосымшалардың кең шеңберiнде пайдалансын, қажеттi граф сiзге қашан бұл дерекқор шыңдарда ассоциацияланған (кестелермен ) қасиеттермен және түйiндер. См. "Ағайындас жобалары" абстракцияның осы деңгейдегi функционалдығы таныстырған бөлiмде Neo4j жоба дәл осылай.

Мұндай абстракцияның деңгейiн Ия бойымен зерттеулердегi әжептәуiр емес. Мәлiметтерлерге бiрiншiлерде, тым қарама-қайшы талаптар. Ия үшiн екiншi, кодқа бағдарлама жасау тiлiнiң объектiлерi ғана деңгейде жұмыс iстейтiн тым жоғары деңгейлi болады. Екi жақсартуды қарап шығамыз - жадтың үлгiсi және объекно - бағдарлалған жалпылау граф.



Кемшiлiктер де, қадiр-қасиет те жадта граф мүмкiн әр түрлi тәсiлдердiң ондық таныстырылған болсын - матрицалармен, тiзiмдермен, және ұсынудың әр тәсiлi тағы басқалар өз жағдайлар үшiн жақындайды және ие болады. Қалай жад таныстырылған графтың өз болғанын анықтаған (MemoryModel ) жадтың үлгiсi ассоциирована графпен әрге. Жадтың үлгiсi түйiндер, үйреншiктi интерфейстер арқылы айналып тұрған қарым-қатынастардың сақтауы, свойств үшiн бөлек жүксауыттардан тұрады.


Мысалы, тiреу нүктелердiң саны, белгiленбеген және ұсыну олардың үшiн жадтың әмбебап үлгiсi талап еткенiнде емес, Марковоның шынжырында шың мiне ғана 2 - 3 байланыс ие болғанында және олар үшiн мүлдем басқа, үнемдiрек жақындағанында және жадтың оптимизациялалған үлгi.Қорыта келгенде оны жұмыс уақытында алмастыру динамикалық немесе өткiзу граф ендi бол памяти/порт үлгiге жазсын - мәлiметтерлердi ұсынудың бағдарлалған үлгiлерiн бөтен, open жобада.

Граф объектке бағдарлалған

Графтарға қазiргi қосымшаларында орта объектке бағдарлалған болуы керек және программалық объектiлердi сақталсын және олардың арасындағы байланыс. Қарастырылған төменде объектке бағдарлалған граф үлгiсi үлгi бұрын суреттеп айтылған тұжырымдамалар объектке бағдарлалғанға далиюды.

Мұндай қойылған объектiнi әр (Node ) түйiнге сәйкестiк граф, (Vertex ) шың ( Graph) граф объектке бағдарлалған. Дәл осылай шыңдардың арасындағы әр (Link ) байланыс үшiн (Edge ) осы байланыс таныстыратын кейбiр объект сәйкестiкке қойылады. Объект түйiндермен ассоциацияланған таңбаларды өзiнiң түрi болып көрiнедi және қай бiрмәндi анықтаған графтың байланыстарымен.

Қорыта келгенде, (V ) вершиннiң объектiлерiн көп Graph граф объектке бағдарлалған - және (E ) олардың арасындағы байланыстардың объектiлерiн көп. (Node ) түйiн бұл жағдайда, графта шыңның ұсынуын болып көрiнедi, ал шыңдардың арасындағы қосылудың ұсынуымен (Link ) байланыс. Граф объектке бағдарлалған графтың математика қабылданған ұғымын қасиет беттерiнше өте жақын. Себебi, шыңдарда және граф байланыстары ал кез келген объектiлерде болады, граф объектке бағдарлалған бағдарламада объектiлердiң арасындағы байланыстың тапсырмасының құралдарын унивесальнымдарды болып көрiнедi.



Естен кетпес, граф түйiндердiң арасындағы объектке бағдарлалған (Link ) байланыс сияқты бола алады сол сияқты (Relationship ) қарым-қатынас. Және қосынды сол тағы басқа түр барлық бағыттарда графты (аралап шығу ) траверс үшiн бiрдей жақындайды. Байланыс және қарым-қатынас түйiндердiң арасындағы ұйымның әр түрлi түрлерiн тапсырма үшiн пайдаланады. Байланыс түзу жөн-жоба үшiн арналған қарағанда соединено. Сонда қарым-қатынас жөн-жоба түйiн кейбiр мағыналы қарым-қатынаста бiр-бiрiмендерде болатын арналған. Тәсiл мыналардың қайсы болса далары жеткiлiктi болып көрiнедi, бiрақ қарым-қатынастарының екi түрi керектi мөлшерде күрделi байланыстар неше бiлдiруге боладуға қиыстыра және түйiндердiң арасындағы мағыналы тәуелдiлiктер.

(Link ) байланыс, далиютын (Relationship ) қарым-қатынастардың шегi алған, бiрақ ие болма (RelationshipType ) түрiндегi бастапқы берiлген. Бұл түр анық берiлмеген, сондықтан әзiрше, байланыс шыңдардың арасындағы қарым-қатынас мүмкiн есептеу. Егер бұл түрi берiлген болса, онда байланыс оны ұластыратын барлық арналардың арасындағы қарым-қатынас болады. Басқаша айтқанда, байланыс мағыналы таңбаны алады.




Достарыңызбен бөлісу:
1   ...   27   28   29   30   31   32   33   34   ...   41




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет