ELEKTROTEHNI ˇ SKI VESTNIK 88(5): 241–246, 2021 IZVIRNI ZNANSTVENI ˇ CLANEK Semantiˇ cno modeliranje podatkov z grafnimi bazami za podporo interoperabilnosti v pametnih omreˇ zjih Amila Derviˇ sevi´ c 1 , Matej Zajc 2 , Nermin Suljanovi´ c 1, 3 1 Elektroinˇ stitut Milan Vidmar, Ljubljana, Slovenija 2 Univerza v Ljubljani, Fakulteta za elektrotehniko, Slovenija 3 Univerza v Tuzli, Fakulteta za elektrotehniko, Bosna in Hercegovina E-poˇ sta: amila.dervisevic@eimv.si Povzetek. Postopek digitalizacije dobavne verige z elektriˇ cno energijo in uvedba pametnega omreˇ zja kot koncepta, ki bo olajˇ sal vkljuˇ citev obnovljivih virov energije in elektriˇ cnih vozil v obstojeˇ ce elektroenergetsko omreˇ zje, sta privedla do znatnega poveˇ canja koliˇ cine podatkov in izmenjave informacij med deleˇ zniki. ˇ Clanek obravnava semantiˇ cno modeliranje podatkov o elektriˇ cni energiji in shranjevanje podatkov v grafne podatkovne baze za nadaljnje hitro in zanesljivo iskanje informacij. Skupni informacijski model (CIM) omogoˇ ca semantiˇ cno interoperabilnost podatkov o elektriˇ cni energiji, ki se nanaˇ sajo na razliˇ cne procese in ˇ casovne skale od realnega ˇ casa do dolgoroˇ cnega naˇ crtovanja. Ker je okvir za opis virov (RDF) uˇ cinkovito sredstvo za serializacijo (pretvorbo) podatkov na semantiˇ cnem spletu, in so trenutno veliki podatki o elektriˇ cni energiji pogosto serializirani v tej obliki, si prizadevamo za globlje razumevanje RDF. V naslednjem koraku bomo prouˇ cili metodologijo shranjevanja podatkov, serializiranih v formatu RDF/XML, v grafno podatkovno bazo in pristope za iskanje podatkov iz baz podatkov, ki jih zahtevajo drugi poslovni procesi. V okviru praktiˇ cnega dela bodo modeli distribucijskih mreˇ z v formatu RDF postavljeni v dve grafni bazi podatkov z razliˇ cno zasnovo (Neo4j in GraphDB) in ovrednotene bodo njihove zmogljivosti. Kljuˇ cne besede: CIM, pametna omreˇ zja, interoperabilnost, grafne baze podatkov, RDF Semantic data modelling with graph databases enabling interoperability in smart grids Digitalization of the power supply chain and introduction of smart power grids to integrate renewable energy sources and electric vehicles into the existing power grid have led to a significant increase in the data and information exchange between stakeholders. The paper studies semantic modeling of the power data and its storing in graph databases to enable its fast and reliable retrieval. A common information model enables semantic interoperability of power data related to different processes and time scales, either real or long-term planning. The resource description framework (RDF) is an effective means to serialize data on the Semantic Web. The paper examines the methodology for storing the data serialized as an RDF/XML file in a graph database and approaches for data retrieval data from databases to be used by other business processes. As part of the practical work of this paper, RDF distribution network models will be placed in two graph databases of different concepts (Neo4j and GraphDB) and their performance will be compared and evaluated. Keywords: CIM, smart grid, interoperability, graph da- tabase, RDF 1 UVOD Pametna omreˇ zja temeljijo na podatkih, zato so mo- deliranje, razumevanje in uporaba podatkov pomembne Prejet 28. julij, 2021 Odobren 18. oktober, 2021 naloge za pravilno upravljanje omreˇ zja. Rast ˇ stevila deleˇ znikov v komunikaciji vodi do rasti koliˇ cine izme- njanih podatkov. Vsak deleˇ znik na podroˇ cju elektriˇ cne energije lahko uporablja drugaˇ cen pristop modeliranja, kar predstavlja omejitve za interoperabilnost podatkov. IEEE definira interoperabilnost na sistemski ravni kot sposobnost dveh ali veˇ c sistemov ali komponent za izmenjavo informacij in uporabo informacij, ki so bile izmenjane, na podatkovni ravni pa je definirana kot “sposobnost povezovanja, zdruˇ zevanja in obdelave dveh ali veˇ c naborov podatkov” [1]. S problematiko interoperabilnosti podatkov se sreˇ cujemo na ˇ stevilnih podroˇ cjih, en primer je semantiˇ cni splet (angl. Semantic Web). Skupne semantiˇ cne modele, kot temelj za pametna omreˇ zja, podpira tudi GridWise Architecture Council (GWAC) [2]. Semantika je osrednji sloj sklada GWAC, ki je sestavljen iz osmih slojev, razvrˇ sˇ cenih v tri skupine, kot prikazuje slika 1. ˇ Ce pogledamo podrobneje, ˇ cetrta plast govori o pomenskem razumevanju in nam pred- stavlja izhodiˇ sˇ ce za izboljˇ sanje interoperabilnosti podat- kov. Semantiˇ cni model je strukturiran opis semantike niza informacij, ker so podatki enoliˇ cno in natanˇ cno opredeljeni, tako kot tudi njihova povezava z drugimi podatki. Semantiˇ cni pristop lahko pomaga pri obravnavi raznolikosti udeleˇ zencev in tipov podatkov, zato pou- darja interoperabilnost [3]. Semantiˇ cna interoperabilnost uvaja metapodatke, ki jih pogosto imenujemo podatki o 242 DERVI ˇ SEVI ´ C, ZAJC, SULJANOVI ´ C podatkih, kar zagotavlja pravilno interpretacijo informa- cij, natanˇ cen opis in edinstveno identifikacijo. Pravilna interpretacija omogoˇ ca, da podatek postane informacija [4]. Koncept enoliˇ cne identifikacije fragmentov podat- kov je kljuˇ cnega pomena za ravnanje z velikimi po- datki, celotna ideja semantiˇ cnega spleta temelji na eno- tnih identifikatorjih virov (URI-jev). V dobi pametnih omreˇ zij in interneta stvari (IoT) semantika ˇ se nikoli ni bila tako pomembna. 5: Poslovni kontekst 4: Semantično razumevanje Informativni (Semantika) Tehnični (Sintaksa) 1: Osnovna povezljivost 2: Omrežna interoperabilnost 3: Sintaksična interoperabilnost 6: Poslovni postopki 7: Poslovni cilji 8: Ekonomska/regulativna politika Organizacijski (Pragmatika) Slika 1: Sklad GWAC [2]. Za popolno interoperabilnost in homogenost okolja moramo skladno z GWAC zagotoviti [5]: • Zelo podroben model, ki opisuje elektroenergetski sistem. • Format datoteke, ki lahko hrani razˇ sirjene podatke, brez vpliva na osnovne podatke. • Proizvajalci programske opreme in energetska pod- jetja morajo sprejeti ta podatkovni model ter ga vkljuˇ citi v svoje poslovanje. Skupni informacijski model (angl. Common Informa- tion Model) (CIM) lahko izpolni prvo zgornjo zahtevo, medtem ko razˇ sirljiv oznaˇ cevalni jezik (angl. eXtensible Markup Language) (XML) v kombinaciji z okvirom za opis virov (angl. Resource Description Framework) (RDF) ponuja reˇ sitev za drugo zahtevo. Tretja zahteva se lahko ˇ steje bolj za komercialen in regulativen izziv kot tehniˇ cni. 2 SKUPNI INFORMACIJSKI MODEL (CIM) Podatkovni model, ki se uporablja za opis elektroener- getskega sistema, mora podpirati semantiko in biti dovolj podroben, da lahko celovito predstavimo kompleksen sistem. Uveljavljen model, ki izpolnjuje vsa merila, je skupni informacijski model CIM [6]. CIM uvaja semantiˇ cno interoperabilnost podatkov o elektriˇ cni ener- giji in opredeljuje vmesnike, ki omogoˇ cajo izmenjavo podatkov med razliˇ cnimi aplikacijami. CIM je prviˇ c uporabil NERC (severnoameriˇ ski svet za zanesljivost elektriˇ cne energije) kot format izmenjave podatkov med energetskimi podjetji. Danes ENTSOE (evropsko omreˇ zje operaterjev prenosnih sistemov za elektriˇ cno energijo) razvija sistem CIM v Evropi, ki postaja vse bolj razˇ sirjen po vsem svetu [6]. Leta 2005 je bila ustanovljena skupina uporabnikov CIM (CIMug) [7]. CIMug je forum, na katerem lahko uporab- niki in svetovalci sodelujejo in uporabljajo mednarodne standarde IEC CIM za izboljˇ sanje interoperabilnosti. Primarni namen je izmenjava tehnoloˇ skih osnov, naj- boljˇ sih praks in tehniˇ cnih virov ob hkratnem izboljˇ sanju interoperabilnosti [7]. IEC razvija CIM na podroˇ cju dela tehniˇ cnega odbora TC57. Tri delovne skupine so osredotoˇ cene na CIM: delovne skupine 13, 14 in 16 [5]. CIM je opisan z uporabo enotnega jezika za modeli- ranje UML (angl. Unified Modeling Language). UML ponuja konceptualni model ter omogoˇ ca razumevanje sistema in povezav med njegovimi moduli. To je pik- tografski jezik, ki se uporablja za ustvarjanje naˇ crtov programske opreme. UML standardizirata in razvijata skupini za upravljanje objektov (OMG) in ISO/IEC 19501 [6]. Na voljo sta dve glavni vrsti diagramov, dia- grami razredov (angl. class diagrams) UML in diagrami paketov (angl. package diagrams) UML. Uporabljajo se za grafiˇ cno modeliranje razliˇ cnih sistemov, pomembnih za razvijalce sistemov, modeliranje znanja ali interakcij [6]. UML modelira sistem in ponuja naˇ cine grafiˇ cne predstavitve njegovih elementov, vendar ne daje doda- tnih informacij, na primer kako modelirati ali uporabiti dani model [6]. Z uporabo podrobnih opisov elementov lahko sistem modeliramo tako, da je zelo podoben pravemu. Podrobni opisi so lahko v pomoˇ c, vendar tudi v breme, saj prinaˇ sajo delo z velikimi nabori podatkov. Za mode- liranje transformatorja z uporabo ontologije CIM na primer potrebujemo 11 razredov, 14 relacij in pribliˇ zno 40 atributov, kot je razvidno s slike 2. 3 OKVIR ZA OPIS VIROV (RDF) Primarni cilj pametnih omreˇ zij je omogoˇ citi interopera- bilnost med ˇ stevilnimi razliˇ cnimi uporabniki, entitetami, storitvami in napravami, ki imajo pomembno vlogo v sodobnem in razvitem energetskem sistemu. Nujen, a ne zadosten korak je podroben model, ki opisuje elektroenergetski sistem. CIM je bil izbran za izpolnitev te zahteve, vendar je prevelik, da bi ga lahko delili udeleˇ zenci v komunikaciji. Zato iˇ sˇ cemo format, ki lahko shrani razˇ sirjene podatke, ne da bi vplival na osnovne podatke, ki je razumljiv tako ljudem kot strojem, zane- sljiv za zelo povezane semantiˇ cne podatke in v skladu z ontologijo CIM. Idealni format se imenuje Okvir za opis virov (RDF). RDF je idealna reˇ sitev za odpravo pomanjkljivosti modela CIM. Na podroˇ cju energetike se SEMANTI ˇ CNO MODELIRANJE PODATKOV Z GRAFNIMI BAZAMI ZA PODPORO INTEROPERABILNOSTI... 243 Slika 2: Transformator, modeliran s pomoˇ cjo razredov CIM. uporablja za serializacijo podatkov topologije omreˇ zja [6]. RDF ima obliko usmerjenega grafa za predstavitev informacij. Najosnovnejˇ si del modela RDF je trojˇ cek (angl. triple). Trojˇ cke sestavljajo subjekt (angl. subject), predikat (angl. predicate) in objekt (angl. object). Su- bjekt opisuje entiteto, o kateri je izjava, predikat se nanaˇ sa na doloˇ ceno lastnost te entitete, vrednost te lastnosti pa je objekt. Na sliki 3 je prikazan trojˇ cek kot usmerjen graf, kjer sta subjekt in objekt vozliˇ sˇ ci, predikat pa predstavlja povezavo. Na sliki sta dva objekta, eden je predstavljen kot krog, in je lahko del drugega trojˇ cka. Drugi objekt ima pravokotno obliko, in predstavlja konec te relacije. Slika 3: Trojˇ cek kot usmerjen graf. 3.1 Model CIM RDF Da bi lahko modele RDF delili in objavili, jih moramo serializirati v enega od standardiziranih formatov, kot so RDF/XML, N3, Turtle, N-triples itd [8]. V primeru uporabe CIM je najprimernejˇ si format RDF/XML. Jezik CIM XML je aplikacija RDF za CIM, opredeljena s tremi sintaksnimi specifikacijami, to so CIM, shema RDF (RDFS) in RDF [9]. Namen RDF je enoliˇ cno opisati in povezati informacije. Struktura trojˇ cka, upo- rabljena v dokumentih RDF, se morda zdi preprosta, vendar je primerna za predstavitev elektriˇ cnega omreˇ zja. Za natanˇ cnejˇ so razlago modelov CIM RDF je bil izbran realni model omreˇ zja, spodaj je prikazan majhen vzorec: 14.212000846862793 46.304832458496094 Prikazan je element imenovan PositionPoint. Prva vrstica je skupna vsem elementom celotnega RDF/XML. V tej vrstici so definirani URI in njihova skrajˇ sana imena (angl. qnames). Skrajˇ sanje URI-ja omogoˇ ca laˇ zje branje dokumenta RDF, zaradi ˇ cesar je dokument uporabniku bolj prijazen. V drugi vrstici je doloˇ ceno ime elementa (PositionPoint) in njegov ID. ID in ime sta definirana s pomoˇ cjo qnames cim oziroma rdf, da skrajˇ sa vnos in olajˇ sa branje. Imenski prostor (angl. namespace) cim je kljuˇ cnega pomena in eno od oznak, da vedno prepozna model CIM RDF. To je standardni imenski prostor, defi- niran z URI cim: http://iec.ch/TC57/2010/CIM-schema- cim15#. URI se lahko razlikuje, odvisno od uporabljene razliˇ cice CIM. Naslednji dve vrstici definirata lastnosti elementa. PositionPoint ima dve lastnosti o poziciji, Po- sitionPoint.xPosition in PositionPoint.yPosition. Zadnja vrstica definira povezavo do drugega elementa z ID elementa, podanega kot rdf: resource = ”# 5e9e62b0- 1d34-11e3-bef9-18a905eb8bd0”. Slika 4 prikazuje, kako je ta kratek segment videti kot CIM UML in kako je preslikan v CIM RDF. Atributi iz razredov UML so preslikani v dobesedne objekte, medtem ko je ime atributa predikat v RDF. Razredi so preslikani v vozliˇ sˇ ca. 4 GRAFNE BAZE PODATKOV Ker je CIM zelo podroben in vˇ casih zapleten model, je lahko ravnanje z velikimi koliˇ cinami podatkov precej zahtevno za operaterje. Zdi se naivno vedno izmenjati te velike podatkovne modele, namesto da bi jih shranili v bazo podatkov, in ustreznim uporabnikom omogoˇ cili dostop le do potrebnih podatkov. Uvedba koncepta baz podatkov, prilagojenih na CIM, bi imela pomemben vpliv na delovanje in obdelavo podatkov elektroenerget- skega sistema. Ker je RDF v svoji strukturi graf, smo raziskali razliˇ cne metodologije za shranjevanje podatkov 244 DERVI ˇ SEVI ´ C, ZAJC, SULJANOVI ´ C Slika 4: Preslikava iz a) CIM UML v b) CIM RDF. v grafne baze podatkov. Grafne baze ne vsebujejo shem, struktura se prilagaja potrebam primera uporabe in s tem izboljˇ suje interopera- bilnost [10]. Grafiˇ cne zbirke podatkov so bolj objektno usmerjene, kar pomeni, da uporabnik pri pisanju poi- zvedb [11] deluje z jasno in eksplicitno semantiko. Vpe- ljava vozliˇ sˇ c in relacij namesto tabel in kljuˇ cev je blizu naˇ cinu povezovanja elementov v resniˇ cnem svetu in v pomoˇ c pri predstavitvi elektriˇ cnega omreˇ zja. Namesto sledenja primarnim kljuˇ cem in iskanja znotraj ˇ stevilnih tabel, je dovolj slediti povezavami, kar poenostavlja tudi poizvedbe. RDF je preprost matematiˇ cni graf, ki ima samo vozliˇ sˇ ca in povezave. Oznaˇ ceni grafi lastnosti (angl. Labeled property graph) so razˇ siritev navadnega ma- tematiˇ cnega grafa ter imajo poleg vozliˇ sˇ c in povezav oznake in lastnosti. Oznake definirajo vlogo vozliˇ sˇ ca v doloˇ ceni domeni, mu dajo natanˇ cnejˇ si pomen in doloˇ cajo omejitve. Eno vozliˇ sˇ ce ima lahko veˇ c oznak. Lastnosti pa so pari kljuˇ c-vrednost, ki vsebujejo informacije o vozliˇ sˇ cu ali relaciji. Grafne baze nimajo predpisane sheme, njihova druga koristna funkcija pa je hitra prilagoditev spremembam. Dodajanje novih vozliˇ sˇ c ali povezav je enostavno in brez vpliva na druge. Najveˇ cja prednost podatkovnih baz grafov pred drugimi je, da podatki obiˇ cajno teˇ zijo grafom, in ne k tabelam. ˇ Ce so podatki bolj povezani, laˇ zje jih je predstaviti z grafi. In ne gre samo za podatke, ljudje ponavadi bolje razumejo vse, kar je predstavljeno kot graf. Obstaja veˇ c kot ena vrsta grafnih baz. Razvrstimo jih lahko po razliˇ cnih kriterijih, kot sta vrsta osnovnega modela ali naˇ cin shranjevanja in iskanja. Na trgu je na voljo veliko reˇ sitev, vendar izstopata Neo4j in GraphDB. Gre za grafni bazi, odprtokodni in NoSQL, vendar obstaja tudi veliko razlik, zaradi ˇ cesar sta najboljˇ sa izbira za doloˇ cene primere uporabe. Kako delati v obeh grafnih bazah podatkov, je po- drobneje pojasnjeno v 4.1. 4.1 Primerjava med Neo4j in GraphDB Neo4j je odprto kodna in NoSQL grafna baza, pri ˇ cemer je osnovni model graf lastnosti [12]. V Neo4j so podatki shranjeni v vozliˇ sˇ cih, povezavah in lastnostih, tako kot jih vizualizira uporabnik. Po drugi strani je GraphDB veˇ cmodelna grafna baza. Veˇ cmodelna pomeni, da je GraphDB hkrati grafna baza in baza RDF trojk (angl. triplestore). GraphDB je izvo- ren za RDF, zato se pogosto reˇ ce, da je GraphDB baza podatkov za shranjevanje grafov znanja. Najpomembnejˇ se razlike med Neo4j in GraphDB so: • Osnovni model - Neo4j graf lastnosti uporablja kot osnovni model, GraphDB pa je veˇ cmodelna baza. • Iskanje po bazi podatkov - Neo4j uporablja iskanje brez indeksa, GraphDB pa uporablja indekse za iskanje podatkov. • Poizvedovalni jezik - Neo4j ima svoj poizvedovalni jezik ki se imenuje Cypher, medtem ko GraphDB uporablja standardizirani SPARQL. • Delo z RDF - Neo4j ne zna delati z RDF brez uporabe vtiˇ cnikov, medtem ko je GraphDB izvorno okolje za RDF. Na sliki 5 je prikazano kako je ena razdelilna trans- formatorska postaja (angl. Substation) shranjena v bazah Neo4j in GraphDB. Slika 5: Razdelilna transformatorska postaja (RTP) shranjena v a) Neo4j b) GraphDB. Fokus naˇ sega dela je shranjevanje modelov CIM RDF v grafnih bazah s ciljem poveˇ canja stopnje interopera- bilnosti. SEMANTI ˇ CNO MODELIRANJE PODATKOV Z GRAFNIMI BAZAMI ZA PODPORO INTEROPERABILNOSTI... 245 5 REZULTATI V okviru praktiˇ cnega dela raziskovanja smo v dveh grafnih bazah podatkov, Neo4j in GraphDB, razporedili modele distribucijskih mreˇ z v formatu RDF in primerjali njihove zmogljivosti s standardnimi kljuˇ cnimi kazalniki uspeˇ snosti (angl. Key Performance Indicators) za baze podatkov. Neo4j je izbran kot predstavnik za grafne baze podatkov z oznaˇ cenim grafom lastnosti kot osnovnim modelom, medtem ko GraphDB zdruˇ zuje grafne baze in baze RDF-trojk. Oznaˇ ceni graf lastnosti je bolj komple- ksen kot graf RDF, ker vkljuˇ cuje lastnosti za vozliˇ sˇ ca in relacije. Shranjevanje modela RDF v Neo4j je bolj zapleteno kot v primeru GraphDB, saj je na primer, vsaka lastnost vozliˇ sˇ ca v bazi Neo4j je predstavljena kot vozliˇ sˇ ce povezano z drugim vozliˇ sˇ cem v RDF. Tako moramo pri Neo4j za vsako povezavo preveriti ali gre za povezavo do novega vozliˇ sˇ ca ali za lastnost vozliˇ sˇ ca. Oba pristopa smo ovrednotili z izbranim primerom, ki temelji na realni topologiji distribucijskega omreˇ zja. Uporabili smo dva nabora podatkov, manjˇ sega, s 3.110 elementi in veˇ cjega s 5.996.667 elementi. Prvi korak je uvoz datoteke CIM RDF v vsako bazo podatkov. V primeru GraphDB brez teˇ zav uvozimo modele RDF, medtem ko smo pri Neo4j delali na dva naˇ cina. Najprej smo uporabili vgrajeni vtiˇ cnik Neose- mantics, nato smo razvili ˇ se lastni vtiˇ cnik, ki sluˇ zi kot ontoloˇ ski adapter za CIM. Za razvoj adapterja in uvoz RDF smo uporabili razliˇ cne knjiˇ znice za Neo4j in RDF, po uvozu modela Neo4j z RDF dela kot da bi bil oznaˇ cen graf lastnosti. Po uspeˇ snem uvozu lahko z ustreznimi poizvedbami pridobimo informacije o postajah in vodih izbranega primera nabora podatkov. Neo4j ima lasten jezik za poizvedbe, imenovan Cypher, medtem ko GraphDB uporablja standardizirani jezik za poizvedbe SPARQL. Pridobljene podatke smo zapisali v datoteko KML, ki omogoˇ ca vizualizacijo teh elementov v programu Google Earth. Na podlagi razliˇ cnih virov smo sestavili seznam KPI, kot je prikazano na sliki 6, ki se uporabljajo za testiranje baz podatkov, kjer je najpogosteje uporabljeni KPI ˇ cas izvajanja poizvedbe. Slika 6: Statistika pogostosti uporabe razliˇ cnih KPI za testira- nje grafnih baz. Za testiranje smo preteˇ zno uporabljali veˇ cji model, s katerim laˇ zje doloˇ camo odstopanja v ˇ casu izvajanja. Sta- tistiˇ cna analiza dobljenih rezultatov je pomagala doloˇ citi najprimernejˇ si naˇ cin shranjevanja in upravljanja datotek CIM RDF. Delali smo iterativno, da bi dosegli najboljˇ se rezultate. Prvi pristop je bil uporabiti izvirni model in poizvedovati z veˇ c, manjˇ simi poizvedbami. V tabeli 1 sta prikazana srednji ˇ cas izvedbe in skupni ˇ cas izvedbe za veˇ cji model, kjer vidimo, da Neo4j potrebuje bistveno veˇ c ˇ casa kot GraphDB. Srednji ˇ cas pri Neo4j je pribliˇ zno 0.25 ms, v primeru veˇ cjega modela z okvirno 6 milijoni elementov, pa je skupni ˇ cas izvedbe primera veˇ c kot 10 ur. Tabela 1: Rezultati za veˇ cji model. Neo4j GraphDB Srednji ˇ cas izvedbe poizvedbe [ms] 0.25082 0.0001574 Skupni ˇ cas izvedbe primera 10.1433 ur 5.9634 minut Prvi pristop je potreboval preveˇ c ˇ casa, po dodatnih raziskavah je bilo ugotovljeno, da je potrebna optimi- zacija modela, pri ˇ cemer se poizvedbe ohranijo enake. Odstranili smo prazna vozliˇ sˇ ca, vozliˇ sˇ ca brez povezav in nekatere napake, ki so nastale med izdelavo modela. Optimizacija je narejena na modelu v bazi z ustreznim poizvedbami. V tabeli 2 so prikazani rezultati za manjˇ si model. Razvidno je, da se je ˇ cas izvedbe pri Neo4j izboljˇ sal, vendar je GraphDB kljub temu deloval bolje. Za veˇ cji model smo z Neo4j ˇ se vedno potrebovali pribliˇ zno 10 ur za izvedbo primera. Tabela 2: Skupni ˇ cas izvedbe primera za manjˇ si model z optimizacijo. Neo4j Neo4j (brez optimizacije) (z optimizacijo) ˇ Cas izvedbe [ms] 308.7538 234.3566 Zadnji pristop je bil optimizacija modela ob uporabi samo ene podrobnejˇ se poizvedbe. GraphDB je sicer dal boljˇ se rezultate kot Neo4j, vendar je tudi 10 minut predolg ˇ cas za izvedbo posameznega primera. Zato smo napisali bolj kompleksno poizvedbo v Cypher in SPARQL, ki analizira celotno omreˇ zje naenkrat. Iz ta- bele 3 je razvidno, da se je ˇ cas izvedbe primera uporabe moˇ cno skrajˇ sal ter da sta zdaj ˇ casa za izvedbo primera uporabe za obe bazi podatkov primerljiva. ˇ Ce naredimo primerjavo med tabelama 1 in 3 je razvidno, da se je ˇ cas izvedbe v primeru Neo4j skrajˇ sal z veˇ c kot 11 ur na le 21 sekund, v primeru GraphDB, pa iz 10 minut na 22 sekund. 6 ZAKLJU ˇ CEK Za obe bazi podatkov smo uspeˇ sno izvedli primer upo- rabe za vsak nabor podatkov (manjˇ si in veˇ cji). Tako 246 DERVI ˇ SEVI ´ C, ZAJC, SULJANOVI ´ C Tabela 3: Rezultati za veˇ cji model z eno poizvedbo. Neo4j GraphDB ˇ Cas izvedbe poizvedbe [ms] 320.3436 0.007436 Skupni ˇ cas izvedbe primera [s] 20.3433 21.7652 GraphDB kot Neo4j izpolnjujeta vse tehniˇ cne zahteve, pri delu pa smo potrdili njune prednosti in slabosti. Poizvedovalni jezik Cypher (Neo4j) je veˇ cinoma bolj uˇ cinkovit in zahteva manj kodiranja s strani uporabnika. Ker Neo4j ni prilagojen na RDF, lahko to zahteva dodatno optimizacijo podatkov, kar ni vedno preprosto ali celo dovoljeno. Po drugi strani sta RDF in SPARQL izvorna za GraphDB, zato je poizvedovanje zelo prepro- sto in intuitivno. Hkrati ima SPARQL manj moˇ znosti kot Cypher, kar vˇ casih zahteva veˇ c kodiranja. S poglobljeno analizo in razvojem lastnega pristopa smo ˇ cas izvajanja skrajˇ sali iz veˇ c ur na nekaj sekund in s tem dosegli oˇ citno pohitritev. Uspeˇ sno smo uvozili model CIM RDF z razliˇ cnimi pristopi, manipulirali z modelom in izvajali poizvedbe, vse brez spreminjanja originalnega podatkovnega modela. Shranjevanje modelov CIM RDF v grafni bazi po- datkov je zelo priroˇ cno, subjekt, ki zahteva podatke, mora imeti le ustrezno pooblastilo za dostop, ki mu omogoˇ ca da pregleduje model in poiˇ sˇ ce ˇ zeleno informa- cijo. RDF ni lahko berljiv brez predhodnega poznavanja strukture trojˇ cka, poleg tega moramo razumeti ontologijo CIM. Vse to zahteva veliko uˇ cenja in izobraˇ zevanja deleˇ znikov, medtem ko ti ˇ zelijo le preprost in hiter do- stop do informacij. Z uporabo baz podatkov in grafiˇ cnih uporabniˇ skih vmesnikov, ki bodo poizvedovali v ozadju, morajo biti subjekti pooblaˇ sˇ ceni samo za dostop do baze podatkov in zahtevanje informacij, ki jih potrebujejo, ne da bi podrobno poznali CIM ali RDF. ZAHVALA Raziskave je delno podprla Javna agencija za razisko- valno delo (ARRS) v okviru programa P2-0246. LITERATURA [1] M. Janssen, E. Estevez and T. Janowski Interoperability in Big, Open, and Linked Data— Organizational Maturity, Capabilities, and Data Portfolios, IEEE Computer Society, 2014 [2] M. Uslar, M. Specht, S. Rohjans, J. Trefke and J.M. Gonz´ alez, C. Rosinger and C. D¨ anekas Standardization in Smart Grids - Introduction to IT-Related Methodologies, Architectures and Standards, Springer, 2013 [3] A. Gyrard, A. Zimmermann and A. Sheth Building IoT based applications for Smart Cities: How can ontology catalogs help?, IEEE Internet of Things Journal, 2018 [4] R. L. Ackoff From Data to Wisdom, J. Applied Systems Analysis, 1989 [5] EPRI Technical report,“Common Information Model Primer”, Third Edition. EPRI, 2015 [6] M. Uslar, M. Specht, S. Rohjans, J. Trefke and J.M. Gonz´ alez, The Common Information Model CIM: IEC 61968/61970 and 62325 - A Practical Introduction to the CIM, Springer, 2012 [7] CIM Users Group (CIMug) [Online], https://cimug.ucaiug.org/pages/home.aspx [8] O. Cur´ e and G. Blin, RDF Database Systems - Triples Storage and SPARQL Query Processing, Morgan Kaufmann, 2015 [9] A. deVos, S.E. Widergren and J. Zhu, XML for CIM model exchange, Power Industry Computer Applications, 2011 [10] M. Lal, Neo4j Graph Data Modeling - Design efficient and flexible databases by optimizing the power of Neo4j, Packt Publishing, 2015 [11] Graph database vs. relational database [Online], https://medium.com/@mtbuzzerseo/graph-database-vs- relational-database-e5798281f6ef [12] Neo4j developer [Online], https://neo4j.com/developer/ Amila Derviˇ sevi´ c je magistrirala s podroˇ cja elektrotehnike na Fakulteti za elektrotehniko, Univerze v Ljubljani. Njeno glavno podroˇ cje dela so informacijsko-komunikacijske tehnologije (IKT). Med ˇ studijem je delala na Elektroinˇ stitutu Milan Vidmar (EIMV) v skupini za pametna omreˇ zja in se ukvarjala z izvajanjem reˇ sitev IKT v elektroenergetskih sistemih. Njeno raziskovalno podroˇ cje pokriva CIM, pravila modeli- ranja in orodja CIM, ki se uporabljajo za ustvarjanje profilov. Amila Derviˇ sevi´ c je prejela veˇ c ˇ stipendij za predhodno delo in ˇ studij. Matej Zajc je redni profesor na Katedri za IKT, Fakultete za elektrotehniko, Univerze v Ljubljani. Predava na dodiplomskih in podiplomskih ˇ studijskih programih IKT in Multimedija. Raziskovalno je aktiven na podroˇ cju IKT za pametna omreˇ zja. Nermin Suljanovi´ c je raziskovalec na Elektroinˇ stitutu Milan Vidmar (EIMV) v Ljubljani in redni profesor na Fakulteti za elektrotehniko Univerze v Tuzli. Njegovi raziskovalni interesi so na podroˇ cju pame- tnih omreˇ zij ter modeliranja semantiˇ cnih podatkov in komunikacijskih arhitektur.