6.3.Grupowaniewęzłów
6.4.Rekomendacje
6.5.Analizajęzykanaturalnego
7.Pozyskiwanieiprzechowywaniedanych
7.5.WykorzystaniebazNoSQL
8.Łączenieiprezentacjadanych
9.2.Niezawodnośćsiecitelekomunikacyjnejnapoziomiesystemówautonomicz-
9.3.Analizatriadwsiecipołączeńsystemówautonomicznych
9.4.Redukcjaodejśćklientówsiecitelekomunikacyjnej
9.6.Anonimizacjatrasprzejazdusamochodów
wykładniczym–pokazuje,żetenrozkładjestzdecydowaniegorzejdopasowany.Wskazujetonaciężkoogonowość,którejrozkładtenniemożeoddać.Wodróżnieniuod pierwszegodwapozostałetestysugerujązmianęrozkładu,przyczym,analogiczniejak narys.3.13,obciętyrozkładpotęgowywypadanajlepiej.Możetoświadczyćotym,że siećpołączeńlotniczychjestwgruncierzeczytypowąsieciązłożoną,aobserwowane nieregularnościrozkładusątylkowynikiemjejograniczonejwielkości.
1 R,p=fit.distribution_compare( ’power_law’ , ’exponential’ ,
2 normalized_ratio=True)
3 print ’power_law?exponential:’ + str (R)+ "" + str (p)
4
5 R,p=fit.distribution_compare( ’power_law’ ,
6 ’truncated_power_law’ ,
7 normalized_ratio=True)
8 print ’power_law?truncated_power_law:’ +
9 str (R)+ "" + str (p)
10
11 R,p=fit.distribution_compare( ’power_law’ , ’lognormal’ ,
normalized_ratio=True)
14 print ’power_law?lognormal:’ + str (R)+ "" + str (p)
Wydruk3.10. Porównaniedopasowaniarozkładupotęgowegozrozkładami:wykładniczym,obciętym potęgowymilognormalnym
Tabela3.2. Porównaniedopasowanegorozkładu potęgowegozprzykładowymirozkładami Rozkład Statystyka Rp-wartość wykładniczy 17,426,2 10 68 obciętypotęgowy 10,940 lognormalny 7,342,1 · 10 13
3.4. Wielkościopisującesieć
Opróczfundamentalnychpojęćbezskalowościorazmałychświatówwceluopisusieci złożonychdefiniujesięrównieżinnewskaźniki,przedstawioneponiżej.Uzupełniająone zestawdefinicjipodanychwpodrozdz.2.2idobrzewpisująsięwprezentacjęsiecijako strukturobiektówtraktowanychpodmiotowo–choćoczywiściemogąbyćisąstosowane wopisie„zwykłych”grafów.
Dokonującupodmiotowieniawęzłów,formułujemypytaniadotycząceprzyczyn powstaniasieciwzastanejpostaci.Jednymzpodstawowychjest:czyparawęzłówniepołączonychbezpośrednio,alepoprzezjednego,wspólnegosąsiada,przejawiaskłonnośćdoutworzeniabezpośredniegopołączenia?Wsieciachzłożonychprzeważnietak właśniejest,cowynikaze„społecznej”naturywęzłów,tj.dążeniadoergonomiiiautonomiiwkomunikacji,czemuniewątpliwiesprzyjautrzymywaniebezpośrednichrelacji. Większośćsiecizłożonych,opróczbezskalowościikrótkiejśredniejścieżki,przejawia równieżtendencjędoposiadaniadobrzepołączonychgrupwęzłów.
Gronowanie
Pierwszązaprezentowanązgrubnąmiarąliczbypołączeńbyłagęstośćgrafu(2.1).Bardziejprecyzyjnympojęciemjest globalnywspółczynnikgronowania (globalclustering coefficient),zwanyteż przechodniością (transitivity)[115],definiowanyjakostosunek liczbytrójekwęzłówwpełnipowiązanychdoliczbytrójekpowiązanychnadwóch ztrzechrelacji:
gdzie Δ(G )i δ (G )oznaczają,odpowiednio,liczbętrójekpołączonychwpełni33 oraz połączonychw 2 3 .
Przechodniośćgrafuwrównymstopniuuwzględniatrójkizawierającewęzłyowysokim,jakioniskimstopniu,gubiącprzytymistotneinformacjeogęstościpołączeńtychostatnich.Dlategozabardziejodpowiedniuważasięuśrednionywskaźnik gronowania, c(G ),wykorzystującypojęcie sieciego (egonetwork)pierwszegostopnia E1 (G ,vi ),tj.podgrafuzłożonegozwęzła vi ijegosąsiadów(por.rys.3.14a).Wgrafie egodefiniujemy lokalnywspółczynnikgronowaniacE (vi )jakoilorazliczbyistniejących iwszystkichmożliwychpołączeńpomiędzysąsiadami vi .Wówczas uśrednionylokalny wskaźnikgronowania (networkaverageclusteringcoefficient)wyrażasięwzorem: c(G ) = 1 |V | i cE (vi ). (3.6)
Konstrukcjawskaźnika(3.6)uwydatniazjawiskazachodzącedlalicznychwęzłówomałymstopniu34 .Wartościobuwskaźnikówmogąsiębardzoróżnić;rys.3.14bprezentuje scenariuszekstremalny,prowadzącydocałkowitejrozbieżnościwskazań.
33 Każdejwpełnipołączonejtrójce,czylitrójkątowi A B C A,odpowiadajątrzytrójkiniepełne: A B C , B C A, C A B.Stądwspółczynnikrówny3wliczniku,normalizującywartości t (G )do zakresu 0;1 .
34 Zauważono,żezreguływsieciachzłożonychwartośćlokalnegowspółczynnikagronowaniajesttym mniejsza,imwyższystopieńwęzłaego(adokładniej,równieżjestcharakteryzowanązależnościąpotęgową z2 <α< 3).Jesttozjawiskonaturalne:węzły-celebryciodużymstopniuraczejsązwiązanirelacjami dwustronnymi;trudnobyłobywytworzyćpełnąsiatkępołączeńwichsieciachego.Inaczejjestnaperyferiach sieci,gdzienapotykamydobrzepołączonespołeczności.
RDFSchema
PonieważRDFdajezupełnądowolnośćwwyborzesłowników,niewątpliwiespełniony jestpostulat(2).Należyjednakpamiętać,żeźródłainformacjiposługującesięniepowiązanymisłownikamiuniemożliwiąskuteczneskojarzenieoznaczonych,coprawda,informacji.Dlategoznaczenianabierająrównieżpostulaty(3)–abyumożliwićdefiniowanie związkówpomiędzyklasamipojęć–oraz(4)–abyzminimalizowaćliczbędublujących sięontologii.StandardonazwieRDFSchema(RDFS)dostarczapodstawowychpojęć umożliwiającychokreślaniezależnościpomiędzyklasamiobiektóworaztypamiwłasnościtychobiektów.Wszczególności,wprowadzapojęcieklasy( rdfs:Class)wraz zszeregiemwłasności,umożliwiającdefiniowaniehierarchiiklasihierarchiiwłasności. RDFSpozwalarównieżnaokreślenie,dojakichtypówpodmiotu( rdfs:domain)idopełnienia(rdfs:range)wolnozastosowaćkonkretneorzeczenie.Stanowizatemkompletnątechnologięokreślaniazawartościposzczególnychklasizależnościpomiędzy nimi–czylibudowylubopisaniadowolnejontologii.Jeśliutworzymywłasną,prostą ontologię,wymuszającąprzynależnośćpodmiotuidopełnieniadookreślonychtypów6 :
@prefixrdfs: <http://www.w3.org/2000/01/rdf-schema#> @prefixmoje: <http://mojepojęcia/> moje:grał w rdfs:domain moje:Aktor moje:grał w rdfs:range moje:Film
topoprzedniezdanieRDFmusimyuzupełnićodeklaracjetypudlapodmiotuiorzeczenia:
@prefixrdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> <https://pl.wikipedia.org/wiki/Leon Niemczyk> rdf:type moje:Aktor <http://www.filmweb.pl/Vabank> rdf:type moje:Film Pierwotnezdanie,wrazzezdefiniowanymiograniczeniami,możnazaprezentowaćwpostacigrafuprzedstawionegonarys.5.4.Obiektyumieszczonowzaokrąglonychprostokątach,awłasnepojęcia–welipsach.
Rysunek5.4. Przykładowezdaniewrazzprostąontologiąograniczającązakresstosowaniaorzeczeniado obiektówokreślonegotypu.PojęciadostarczaneprzezRDFiRDFSumieszczononaniebieskimtle
6 Polecenie@prefixwprowadzamakrodefinicjezastępującepowtarzającesięczęściURL.WprzykładzieposługujemysiępojęciamizdefiniowanymiwRDFSiwprowadzamydwienowe,własneklasy:aktora ifilmu.
Jużsamowspomnienierozmaitościprzedstawionychtutajkonkurencyjnychtechnologiioznaczaniakażewątpićwspełnieniepostulatu(4).Nienależyjednakdramatyzowaćzpowodupromowaniaprzezpotentatówwłasnychrozwiązań,tymbardziej jeśli,jakwprzypadkumikrodanych,jesttowynikiemwspółpracykonkurentów.Niezależnieistniejebowiemekosystemontologiiopracowanychprzezurzędyiorganizacjenon-profit,wrazzrozmaitościąudostępnionychprzezniedanychzorganizowanych wedługtychontologii.CałainicjatywanosinazwęLinkedOpenData(LOD).Aktualnepowiązaniamiędzyontologiami,tj.wykorzystywaniejużzdefiniowanychsłownikówpojęćprzezinne,nowszesłowniki,sąprzedstawionewpostacigrafupodadresem http://lod-cloud.net.ObecnieDBPediaorazGeoNamesdefiniująbardzowiele pojęćiwsposóbnaturalnysąrównieżwykorzystywaneprzezmasęinnychontologii, którestopniowopokrywająkolejnedziedzinyżycia.Wtymekosystemie,jakwkażdym innym,trwarównieżwalkaodominację–przyczymnajskuteczniejszym„materiałem promocyjnym”dlaontologiijestupublicznienieodpowiedniolicznychiatrakcyjnych danychniąsięposługujących.
SPARQL
Semantyczneoznaczeniedanychzużyciemontologiijestzaledwiepunktemwyjściado ichdalszejanalizy.Dane,zwłaszczatedostępnezwieluheterogenicznychirozproszonychźródeł,musząbyćwtymceluefektywnieprzechowywane.Używasiędotegospecjalizowanych baztrójekdanych (triplestore)7 .Bazatrójekdanychjestbardzopojemnymnarzędziem,podobniejaksamRDF.Możnawięcwniejprzechowywaćzarówno fakty,jakiwykorzystywaneontologie.Systeminformatycznynależycieprzechowujący takiedane,wrazzmechanizmemwykonywaniazapytań,możebyćjużuznany[51]za grafwiedzy (knowledgegraph)–narzędziedosprawnejeksploracjiwiedzyzdanych wpostacisiecisemantycznej.
Głównymcelemtworzeniabaztypu triplestore jestumożliwieniebardzoelastycznegowyszukiwaniainformacji.SłużydotegotechnologiaSPARQL,któraoznaczazarównostandardskładnijęzykazapytań,jakistandardprotokołukomunikacyjnego.Podstawowymtypemzapytania,analogiczniedoSQL,jest SELECT,którezwracalistęwynikówzmożliwościąjejuporządkowania( ORDERBY)igrupowania( GROUPBY).Jednak analogiekończąsię,gdywgręwchodzifiltrowaniedanychklauzulą WHERE.Jakoże zdaniaprzechowywanesąwewspólnymobszarze,mechanizmfiltrowaniaumożliwia precyzyjnespecyfikowanierelacjipomiędzywydobywanymidanymi.Zapytanietonie maklauzuli JOIN –wszakwszystkiedanewbaziesąjużpołączonewjednejtabeli!
WykorzystajmySPARQLdoznalezieniaodpowiedzinapoczątkowepytanie:„którzyaktorzyfilmowiwspólniegralinajczęściej?”.Istniejewiele,współczesnych,otwartychbazdanych,którealbomożnapobraćwpostaciRDF(np.BibliotekaKongresu USA),alboodpytaćonline,wykorzystującudostępnionąusługęSPARQL(Europejski PortalDanych,DBpedia,LinkedGeoData.GeoNames.org).Skorzystamyzmożliwości
7 Spośródwieludostępnychobecniebaztrójekdanychwartowskazaćdwapopularnerozwiązania ootwartymkodzieźródłowym:OpenLinkVirtuosoorazApacheJena.
POZYSKIWANIEIPRZECHOWYWANIEDANYCH
Przedstawionedotychczasprzykładysiecipowstałyzwykorzystaniemogólnodostępnychźródełdanych.Danetakietrzebajednaknajpierwodszukać,anastępniepobrać iprzechować.Wtymrozdzialeomawiamytechnikipozyskiwaniaimagazynowaniainformacji,któreuznaliśmyzawyjątkowoużyteczne.Niektóremogąwydawaćsięanachroniczne(analizaWWW,bazyrelacyjne),leczzapewniamy,żesąonewciążbardzo przydatnenacodzień.