baza podataka za sioc (semantically interlinked on-line … · 2011-10-11 · u kontekstu baza...

43
SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ž D I N Juraj Rasonja Baza podataka za SIOC (semantically interlinked on-line communities) i FOAF (friend of a friend) ZAVRŠNI RAD Varaždin, 2011.

Upload: others

Post on 06-Mar-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

SVEUČILIŠTE U ZAGREBUFAKULTET ORGANIZACIJE I INFORMATIKE

V A R A Ž D I N

Juraj Rasonja

Baza podataka za SIOC (semantically interlinked on-line communities)

i FOAF (friend of a friend)

ZAVRŠNI RAD

Varaždin, 2011.

Page 2: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

SVEUČILIŠTE U ZAGREBUFAKULTET ORGANIZACIJE I INFORMATIKE

V A R A Ž D I N

Juraj Rasonja

Redoviti student

Broj indeksa: 35923/07-R

Smjer: Informacijski sustavi

Preddiplomski studij

Baza podataka za SIOC (semantically interlinked on-line communities)

i FOAF (friend of a friend)

ZAVRŠNI RAD

Mentor:

Dr. sc. Markus Schatten, viši asistent

Varaždin, lipanj 2011.

Page 3: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Sadržaj

1.UVOD .......................................................................................................................................................................... 1

2.EXTENSIBLE MARKUP LANGUAGE (XML) .................................................................................................... 2

2.1.PRIMJER XML DOKUMENTA ................................................................................................................................ 3

3.RESOURCE DESCRIPTION FRAMEWORK (RDF) .......................................................................................... 4

3.1.PRIMJER RDF DOKUMENTA ................................................................................................................................. 5

4.ONTOLOGIJA .......................................................................................................................................................... 6

5.SEMANTIČKI WEB ................................................................................................................................................. 7

6.FRIEND OF A FRIEND (FOAF) ........................................................................................................................... 10

6.1.KLASE I SVOJSTVA UNUTAR FOAF ONTOLOGIJE ............................................................................................... 10 Klase ................................................................................................................................................................... 10 Svojstva ............................................................................................................................................................... 12 Odnos klasa i svojstva ......................................................................................................................................... 15

7.SEMANTICALLY-INTERLINKED ONLINE COMMUNITIES (SIOC) ........................................................ 17

7.1.KLASE I SVOJSTVA UNUTAR SIOC ONTOLOGIJE ................................................................................................ 17 Klase ................................................................................................................................................................... 18 Svojstva ............................................................................................................................................................... 19 Odnos klasa i svojstva ......................................................................................................................................... 22

8.IMPLEMENTACIJA SIOC I FOAF ONTOLOGIJE ......................................................................................... 24

9.ZAKLJUČAK .......................................................................................................................................................... 27

10.LITERATURA ....................................................................................................................................................... 28

11.PRILOG 1 – SQL SKRIPTA ZA KREIRANJE BAZE PODATAKA ............................................................. 29

12.PRILOG 2 – SQL SKRIPTA ZA BRISANJE BAZE PODATAKA ................................................................. 38

I

Page 4: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

1. Uvod

Prilikom traženja teme za završni rad, želio sam izabrati temu koja će obuhvatiti gradivo koje

sam prošao na preddiplomskom studiju. Također sam želio da ta tema bude u području u kojem

želim nastaviti svoje obrazovanje. Tako sam izabrao temu koja pokriva baze podataka i

semantički web.

Kako se tema završnog rada bazira na Semantically-Interlinked Online Communities i Friend of

a Friend ontologijama, prvo treba krenuti sa objašnjavanjem tehnologija koje su korištene za

definiranje ontologija. Na samom početku se nalazi Unicode što predstavlja set znakova koji se

koriste, te Uniform Resource Identifier pomoću kojeg se identificiraju objekti. Potom slijedi

EXtensible Markup Language i Resource Description Framework koji služe za opisivanje stvari

i objekata na Internetu. Na višoj razini se nalazi ontologija. Uz navedene tehnologije, postoje još

neke tehnologije koje čine semantički web.

Rad u sebi sadrži praktični dio koji će omogućiti pohranjivanje podataka vezanih uz ontologiju u

bazu podataka. Kao skladište podataka će se koristiti PostgreSQL sustav za upravljanje bazom

podataka. Dok će se za parsiranje datoteka koristiti skriptni jezik Python.

1

Page 5: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

2. Extensible Markup Language (XML)

Extensible Markup Language, odnosno XML, definira niz pravila kako se kreira XML dokument

i koje elemente sadrži. Za neku se tekstualnu datoteku kaže da je XML datoteka ako dobro

oblikovana prema standardu i poštuje određena pravila koja su također navedena u standardu1

XML je format zapisa koji je prikladan računalu, a ujedno čovjeku omogućava čitanje

dokumenta tako da razumije sadržaj koji se u istom nalazi.

Slika 2.1. XML logo2

XML dokument u sebi sadrži Unicode znakove koji grupiranjem dobivaju značenje. Tako u

XML dokumentu postoje3:

− Unicode4 znak – predstavlja bilo koji znak koji se nalazi u Unicode standardizaciji

− sintaksna oznaka – svaki niz znakova koji počinu sa znakom ”<” i završavaju sa

znakom ”>”

− sadržaj – suprotno od sintakse oznake, odnosno sve što nije sintaksna oznaka

− oznaka – sintaksa oznaka sa značenjem, tako postoji početna oznaka ( npr. <pjesma>),

završna oznaka (npr. </pjesma>), te prazna oznaka (npr. <prazni_tag/>)

− element – logička cjelina u dokumentu koja ima početnu oznaku i odgovarajuću završnu

oznaku ili može biti samo prazna oznaka. Znakovi koji se nalaze između početne i

završne oznake se naziva sadržaj oznake. U sadržaju oznake se može nalaziti običan tekst

ili druge oznake koje se nazivaju djecom oznake.

− atribut – nalazi se unutar početne oznake ili prazne oznake. Svaki atribut ima svoj naziv

i vrijednost. Primjer oznake koje ima u sebi definirane atribute <sjedalo red="2"

stupac="3">

1The World Wide Web Consortium (W3C) : Extensible Markup Language (XML) 1.1 (Second Edition), on-line <http://www.w3.org/TR/2006/REC-xml11-20060816/>. učitano: 12.9.2011.2 Izvor slike:http://www.w3.org/Icons/XML/xml-horz-w3c.svg3 wikipedia.org: XML, on-line <http://www.wikipedia.org/wiki/XML>, učitano 12.9.2011.4 Unicode je standard za prikaz slova neovisno o jeziku, računalnom programu ili računalnoj platformi

2

Extensible Markup Language

Page 6: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

− XML deklaracija – nalazi se na početku dokumenta i definira neke informacije o

dokumentu

XML je napravljen s ciljem da olakša programima, odnosno programeru, čitanje datoteka koje

su napravljene od strane drugih programa, tj. stvaranje na neki način univerzalnog formata za

pohranu podataka. Kako se u XML datoteci mogu se pohraniti bilo kakvi objekti, odnosno

podaci, moguće je definirati proizvoljne oznake koje će na adekvatan način opisati te objekte.

Tako korisnik može prema nazivu oznake koje se nalaze u datoteci odrediti zapravo o kojem se

objektu ili podatku radi.

Što se tiče XML i HTML5, može se reći da su slični. Ta dva standarda imaju sličnu struktura

zapisa unutar datoteke. Kao što XML ima proizvoljne oznake tako ih HTML nema. U tome se

XML razlikuje do HTML. Nasuprot XML, HTML ima strogo definirane oznake, čemu oni služe

i način njihova korištenja. No oni se razlikuju i po tome što HTML u sebi sadrži informaciju

kako podatke koje sadrži vizualno prikazati korisniku, dok XML opisuje strukturu dokumenta i

njegovo značenje.

2.1. Primjer XML dokumenta

1 <?xml version="1.0" encoding="UTF­8"> 2 <pjesma> 3  <naziv>Muko moja, moj živote</naziv> 4  <autor_teksta>Miroslav Škoro</autor_teksta> 5  <skladatelj>Miroslav Škoro</skladatelj> 6  <izvodac>Stjepan Jeržek Štef</izvodac> 7  <trajanje_pjesme>3:31</trajanje_pjesme> 8 </pjesma>

Primjer 2.1. Primjer XML dokumenta

Primjer 2.1. pokazuje kako bi mogao izgledati XML dokument koji u sebi sadrži podatke o

pjesmi. U prvom redu dokumenta se nalazi deklaracija koja govori da se radi XML dokumentu

verzije 1.0 i da je tekst pisan UTF-8 standardom. Potom dolazi oznaka <pjesma> koja označava

početak opisa pjesme, a kraj označava oznaka </pjesma>. Između početne i završne oznake

nalazi se opis instance klase pjesma. Oznake <naziv>, <autor_teksta>, <skladatelj>, <izvodac> i

<trajanje_pjesme> nazivaju se djecom oznake <pjesma>. Pojedini navedena oznaka može kao

djecu imati neku drugu oznaku ili kao što je u ovom slučaju običan tekst.

5HTML (eng. HyperText Markup Language)3

Page 7: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

3. Resource Description Framework (RDF)

RDF je napravljen kako bi potpomogao razvoju semantičkog weba i također postavio standard za

serijalizaciju podataka o ontologiji koja se opisuje. RDF je model temeljen na grafovima koji

opisuje resurse na Internetu (kao što su web stranice i e-mail poruke) i odnos između tih resursa.6

Slika 3.1. RDF logo7

Za definiranje RDF dokumenta, koriste se dvije različite sintakse. Jedna je XML, dok je druga

N38 sintaksa.

Slika 3.2. Graf za RDF/XML primjer

RDF prikazuje semantičke veze između resursa, osnovni elementi unutar RDF koji definiraju

izjavu u obliku uređene trojke su:

− Subjekt

− Predikat

− Objekt.

6 Developers Mozilla: RDF in Fifty Words or Less, on-line <https://developer.mozilla.org/en/RDF_in_Fifty_Words_or_Less>, učitano 12.9.2011.7 Izvor slike: http://www.w3.org/RDF/icons/rdf_w3c_icon.1288 Notation 3 (N3) koristi se za zapisivanje RDF modela i koristi se ukoliko je potrebno jednostavnije čitanje zapisa.

4

Page 8: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Veza je unutar uređene trojke je sljedeća:

Slika 3.3. Subjekt je povezan s objektom preko

predikata, svaki član uređene trojke je RDF resurs

3.1. Primjer RDF dokumenta

1 <rdf:RDF 2   xmlns:rdf="http://www.w3.org/1999/02/22­rdf­syntax­ns#" 3   xmlns:dc="http://purl.org/dc/elements/1.1/"> 4         <rdf:Description 

rdf:about="http://en.wikipedia.org/wiki/Resource_Description_Framework"> 5                 <dc:title>Resource Description Framework</dc:title> 6                 <dc:publisher>Wikipedia</dc:publisher> 7         </rdf:Description> 8 </rdf:RDF>

Primjer 3.1. RDF dokument

Primjer 3.1. prikazuje sadržaj dokumenta u kojem opisuje resurs

"http://en.wikipedia.org/wiki/Resource_Description_Framework" i definira naslov resursa koji

glasi "Resource Description Framework", te naziv izdavača "Wikipedia".

5

Page 9: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

4. Ontologija

Ontologija definira skup primitiva pomoću kojih se modelira domena znanja. Primitivi koji se

tipično koriste u ontologiji su:

− Klase (skupovi)

− Atributi (svojstva)

− Veze (relacije između klasa)

Definicija primitiva sadrži informacije o njegovom značenju i logičnoj primjeni samih primitiva.

U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog

modela analogno hijerarhijskom i relacijskom modelu. Ali u pogledu modeliranja znanja o

individualcima, njihovim atributima i samim vezama između individualaca.9

U informacijskim znanostima ontologija predstavlja obrasce koji nadalje definira koncepte

unutar neke domene i odnose između tih koncepata. A cijeli postupak se provodi kako bi što

lakše razumjeli objekte i njihovu interakciju unutar predefinirane domene.

Ontologije u informacijskim znanostima se ponajviše koriste u:

− Semantičkom webu

− Umjetnoj inteligenciji

− Programskom inženjerstvu

Ali ontologije možemo promatrati kao najkorisnije u opisivanju podataka i veza koje opisu među

podacima, tako recimo u domeni pretraživača weba možemo koristiti ontologije za postavljanje

prije nezamislivih upita. Recima nad dobro definiranom ontologijom možemo bez problema

pretražiti proizvod po želi, primjer. Želimo naći crni mp3 player koji ima 4GB prostora i upada u

cjenovni razred od 100-200 kuna. Ovakav upit u klasičnim tražilicama bi zahtijevao puno truda i

vremena, dok takav upit nad dobro definiranom ontologijom u domeni pretraživača weba je

trivijalan. U semantičkom webu se ponajviše koristi OWL i RDF za definiranje ontologija. OWL

na raspolaganju ima sve gore navede preduvjete tj. sadržava sve potrebne primitive.

9Tom Gruber, Encyclopedia of Database Systems,Springer,2009.6

Page 10: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

5. Semantički web

Semantički Web donosi strukturu u značajan sadržaj Web stranica, pri čemu stvara okruženje

gdje će programski agenti moći obrađivati Web stranice u svrhu izvršavanja složenih zadataka.

Semantički Web nije zaseban Web već je dodatak na već postojeći u kojem je informacijama

dodijeljeno dobro definirano značenje što omogućava bolju suradnju između računala i ljudi. 10

Principi semantičkog weba su primijenjeni kroz Web tehnologije i standarde koje možemo

vidjeti na Slici 5.2. Svaki sloj i element na slici predstavlja sastavni dio semantičkog weba, bez

ijednog od njih semantički web kao cjelina ne bi postojao.

Slika 5.1. Semantic Web logo11

URI (eng. Uniform Resource Identifier ): predstavlja niz znakova koji se koriste kako bi se

identificirao neki sadržaj koji se nalazi na Internetu, kao takav on se stavlja u temelj semantičkog

Weba jer se na temelju njega vrši sva kasnija identifikacija objekata.

Unicode: predstavlja skup znakova koji se koriste kao temelj semantičkom Webu, unicode je

izabran jer se trenutno u najviše koristi u industriji ako se želi zadržati dosljedan enkoding kroz

sve segmente. Jedan od najvažnijih razloga njegove raširene upotrebe jer podržava veliki spektar

znakova i tako je pogodan za širu upotrebu.

XML(Extended markup language): definira strukturu za serijalizaciju informacija o

semantičkom webu, detaljnije o XML u poglavlju koji se detaljno bavi XML-om i njegovom

upotrebom u semantičkom webu.

RDF(Resource Description Framework) :RDF je osnovni jezik za izražavanje na semantičkom

webu, detaljnije o RDF-u u poglavlju koje se detaljno bavi RDF-om i njegovom upotrebom u

semantičkom webu.

10Berners-Lee, T., Hendler, J. and Lassila, O. (2001).The Semantic Web. Scientific American.11 Izvor slike: http://www.w3.org/Icons/SW/sw-horz-w3c.png

7

Page 11: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Slika 5.2. Prikaz semantičkog weba u slojevima12

OWL(Web Ontology Language): OWL se temelji na deskriptivnoj logici, unutar OWL se

mogu detaljnije specificirati svi resursi koji su definirani unutar RDF-a i RDF Scheme. Resursi

dobiveni na taj način se unutar OWL-a predstavljaju koristeći jezične konstrukte koji se nalaze

unutar njega. Neki od najvažnijih konstrukta koji se nalaze u OWL-u su unija i presjek klasa,

kardinalnost klase ( broj dozvoljenih instanci klase) i naposljetku logički kvantifikatori.

Prilikom korištenja OWL-a ponuđene su tri mogućnosti korištenja zavisno o potrebi:

− OWL Full

− OWL DL

− OWL Lite

SPARQL (SPARQL Protocol and RDF Query Language): je jezik za postavljanje upita nad

RDF datotekama (slično kao što se SQL koristi u relacijskim bazama podataka). Ali za razliku

SQL u relacijskim bazama SPARQL podržava samo postavljanje upita nad podacima a ne

kreiranje ili izmjenjivanje podataka. SPARQL je specifično izrađen za upotrebu izvršavanja

upita nad podacima koji se nalaze na semantičkom webu i stoga sadržava razvijene algoritme za

što brže i efikasnije pretraživanje podataka, za koje SQL ne bi bio sposoban.

RIF (Rule Interchange Format): Kako bi se povećala ekspresivnost podataka prilikom

korištenja semantičkog weba uvedena su pravila. Definiranjem pravila unutar semantičkog weba

12 Izvor slike: http://www.w3.org/2006/Talks/1023-sb-W3CTechSemWeb/SemWebStack-tbl-2006a.pngs8

Page 12: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

korisnici su u mogućnosti postaviti pravila koja rezultiraju predstavljanjem znanja koje se može

izvući pomoću tih pravila. Znanje proizlazi iz činjenice ako se ne ispuni postavljeno pravilo

zaključi ovo a u suprotnom zaključi ono što proizlazi iz istinitosti tog pravila. RIF pokušava

riješiti taj problem na način da sa svojom ekspresivnošću može predstaviti većinu formata

pravila i time uvodi standardizaciju u definiranje pravila na semantičkom webu.

Unifying logic i Proof: Zajednička logika (eng. Unifying logic) i dokaz (eng. Proof)

predstavljaju sloj koji bi trebao unificirati pravila definirana pomoću RIF-a i ontologije koja je

nastala kao posljedica korištenja OWL-a. Jer te dvije tehnologije zasebno ne daju nikakve

informacije, nego treba izvršiti rezoniranje nad ontologijom koristeći definirana pravila da bi se

dobilo potrebno znanje iz tih podataka.

Crypto: Crypto predstavlja praksu korištenja digitalnog potpisa kao mehanizam sigurnosti u

semantičkom web-u.

Trust: Povjerenje (eng. Trust) se bavi problemom točnosti podataka koje se nalaze na

semantičkom webu. Ti podaci se mog provjeriti preko digitalnog potpisa ili preko mreže

prijatelja ili FOAF-a koji je detaljnije opisan u ostatku rada.

9

Page 13: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

6. Friend of a Friend (FOAF)

FOAF predstavlja projekt koji je namijenjen povezivanje ljudi i informacija koristeći Web

tehnologije. Unutar FOAF standardizacije se nalaze koncepti koji omogućuje povezivanje ljudi

sa dokumentima kojima su oni autori, sa korisničkih računima na online servisima, itd. Također

standardizacija služi za opisivanje dokumenata, grupa i ljudi.

Slika 7.1. FOAF logo13

FOAF povezuje tri tipa mreža:

− društvene mreže

− reprezentacijske mreže

− informacijske mreže

6.1. Klase i svojstva unutar FOAF ontologije

Klase

− foaf:Agent – predstavlja generalizaciju Person, Organization i Group klasa. Klasa Agent

se koristi ukoliko, npr. klasa Person je previše specifična. Također se koristi ukoliko

treba opisati bota14.

− foaf:Group – klasa Group predstavlja kolekciju individualnih Agenata. Group može biti

skupina bilo kojih individua koje dijele zajedničke interese ili imaju zajedničke

karakteristike. Klasa Group je podklasa klasi foaf:Agent.

− foaf:Organization – klasa predstavlja društvene institucije kao što su kompanije,

zajednice, organizacije. Klasa Organization je podklasa klasi foaf:Agent.

13 Izvor slike: http://upload.wikimedia.org/wikipedia/commons/b/b1/FoafLogo.svg14 Bot – program koji služi za automatsko odgovaranje na primljene poruke na nekom servisu za razgovor

10

Page 14: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

− foaf:Person – klasa Person predstavlja osobu. Za klasu nije bitno da li je osoba živa,

stvarna ili izmišljena. Klasa Agent je nadklasa klasi Person.

− foaf:Document – klasa predstavlja dokumente koji mogu biti elektronični ili u

papirnatom obliku.

− foaf:Image – klasa predstavlja slike. Digitalne slike su jedan primjer slika. Klasa Image

je podklasa klasi foaf:Agent.

− foaf:OnlineAccount – klasa predstavlja korisnički računa na nekom internetskom

servisu.

− foaf:PersonalProfileDocument – klasa sadrži dokument koji predstavlja osobu. U tom

dokumentu je opisana samo jedna osoba. Klasa PersonalProfileDocument j podklasa klasi

foaf:Document.

− foaf:Project – predstavlja objekte, odnosno stvari koje su projekti. To mogu biti formalni

ili neformalni, zajednički ili pojedinačni projekti.

− foaf:LabelProperty – predstavlja bilo koje RDF svojstvo koje sadrži tekst koji ima

svrhu naziva objekta.

− foaf:OnlineChatAccount – klasa predstavlja korisnički račun koji se nalazi na nekom

Internet servisu za dopisivanje. Klasa OnlineChatAccount je podklasa klasi

foaf:OnlineAccount.

− foaf:OnlineEcommerceAccount – klasa predstavlja korisnički račun za Internet

trgovinu. To je OnlineAccount namijenjen za kupovinu, odnosno prodaju dobara. Klasa

OnlineEcommerceAccount je podklasa klasi foaf:OnlineAccount

− foaf:OnlineGamingAccount – korisnički račun za Internetske igre. Klasa

OnlineGamingAccount je podklasa klasi foaf:OnlineAccount

11

Page 15: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Svojstva

U FOAF standardizaciji postoji četiri stanja svojstva što se tiče njihove prihvaćenosti, odnosno

standardiziranosti. Dakle postoji stanje "stable" što označava da je svojstvo u potpunosti

prihvaćeno u standardizaciji i da u skoroj budućnosti neće mijenjati. Potom stanje "testing" koje

označava da je svojstvo većim dijelom standardizirano i da su moguće promjene ovisno o

daljnjem razvoju standardizacije. Zatim stanje "unstable" označava svojstva koja postoje ali nisu

standardizirana. Za ta su svojstva potrebna dodatna specifikacija. Također postoji i stanje

"archaic" što označava da se svojstvo ne koristi, ali postoji mogućnost da se to svojstvo ponovno

uvede u standardizaciju. Svojstva koja imaju stanje "archaic" nisu navedena u daljnjem tekstu.

− foaf:homepage (stable) – svojstvo predstavlja početnu stranice nekog objekta.

− foaf:isPrimaryTopicOf (stable) – predstavlja dokument koji označava temu nekog

objekta. Svojstvo isPrimaryTopicOf je inverzno svojstvo od foaf:primaryTopic.

− foaf:knows (stable) – označava vezu između osoba koje se poznaju.

− foaf:maker (inv. foaf:made) (stable) – svojstvo označava Agenta koji je napravio

objekt.

− foaf:mbox (stable) – predstavlja osobni poštanski sandučić, odnosno internetski

poštanski sandučić koji je povezan sa točno jednim vlasnikom.

− foaf:member (stable) – označava da je Agent pripadnik određene grupe.

− foaf:primaryTopic (stable) – definira glavnu temu neke stranice ili dokumenta.

− foaf:account (testing) – predstavlja korisnički račun koji je povezan sa Agentom.

− foaf:accountName (testing) – definira ime (identifikator) korisničkog računa.

− foaf:accountServiceHomepage (testing) – predstavlja početnu stranicu servisu na

kojem se nalazi korisnički račun.

− foaf:aimChatID (testing) – identifikator za AIM15 korisnički račun

− foaf:currentProject (testing) – svojstvo predstavlja projekt na kojem osoba trenutno

radi.

15AIM – servis za komunikaciju preko Interneta12

Page 16: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

− foaf:depiction (testing) – predstavlja slikovni prikaz nekog objekta

− foaf:depicts (testing) – označava objekt koji se nalazi na slici.

− foaf:familyName (testing) – svojstvo sadrži prezime osobe.

− foaf:firstName (testing) - sadrži ime osobe.

− foaf:focus (testing) – predstavlja temeljni entitet koji je povezan sa nekim SKOS16

konceptom

− foaf:gender (testing) – označava rod agenta.

− foaf:givenName (testing) – predstavlja ime osobe.

− foaf:icqChatID (testing) – sadrži identifikator za ICQ17 korisnički račun

− foaf:img (testing) – sadrži sliku koja se može koristiti za prikaz nekog objekta

− foaf:interest (testing) – dokument koji pokazuje interes neke osobe.

− foaf:jabberID (testing) – sadrži identifikator za Jabber servis.

− foaf:lastName (testing) – predstavlja prezime osobe

− foaf:logo (testing) – predstavlja logo nekog objekta

− foaf:mbox_sha1sum (testing) – sadrži sha1 kod od URI-a internetskog poštanskog

sandučića.

− foaf:msnChatID (testing) – sadrži identifikator za MSN18 servis

− foaf:myersBriggs (testing) – sadrži Myers-Briggs19 klasifikaciju osobnosti.

− foaf:name (testing) – sadrži naziv nekog objekta.

− foaf:nick (testing) – predstavlja nadimak koji karakterizira agenta

− foaf:openid (testing) – sadrži OpenID za agenta.20

− foaf:page (testing) – predstavlja stranicu ili dokument o objektu koji sadrži ovo svojstvo

− foaf:pastProject (testing) – predstavlja projekt na kojem je osoba prije radila.

16 Simple Knowledge Organization System (SKOS) – http://www.w3.org/2004/02skos/17ICQ – servis za komunikaciju preko Interneta18MSN – servis za komunikaciju preko Interneta19 Myres-Briggs : http://en.wikipedia.org/wiki/Myers-Briggs_Type_Indicator20 OpenID : http://openid.net/

13

Page 17: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

− foaf:phone (testing) – sadrži broj telefona definiran sa tel: URI shemi

− foaf:plan (testing) – odnosi se na sadržaj plan datoteke koja se nalazi na UNIX

sustavima

− foaf:publications (testing) – svojstvo sadrži publikacije osobe.

− foaf:schoolHomepage (testing) – predstavlja početnu stranice školske ustanove koju

osoba pohađa.

− foaf:skypeID (testing) – sadrži identifikator Skype21 servisa za online komunikaciju

− foaf:thumbnail (testing) – predstavlja umanjenu sliku originalne slike

− foaf:tipjar (testing) – tipjar dokument za agenta koji opisuje načine za plaćanje i

nagrade.

− foaf:title (testing) – definira titulu osobe

− foaf:topic (testing) – predstavlja temu neke stranice ili dokumenta

− foaf:topic_interest (testing) – predmet interesa određene osobe.

− foaf:weblog (testing) - predstavlja blog o nekom objektu

− foaf:workInfoHomepage (testing) – definira početnu stranicu koja sadrži opis posla

kojim se osoba bavi.

− foaf:workplaceHomepage (testing) – sadrži početnu stranicu radnog mjesta, odnosno

organizacije gdje osoba radi.

− foaf:yahooChatID (testing) – identifikator za Yahoo korisnički račun

− foaf:age (unstable) – predstavlja broj godina koliko je neka osoba stara.

− foaf:birthday (unstable) – predstavlja datum rođenja osobe.

− foaf:membershipClass (unstable) – predstavlja klasu individua koje su pripadnici

određene grupe.

− foaf:sha1 (unstable) – predstavlja sha1 kod dokumenta.

− foaf:status (unstable) – predstavlja kratki opis trenutnog raspoloženja osobe

21Skype - servis za komunikaciju preko Interneta14

Page 18: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Odnos klasa i svojstva

Tablica 7.1. prikazuje odnose svojstva i klasa koje se nalaze unutar FOAF standardizacije.

svojstvo(inverzno svojstvo) Domena Kodomena

foaf:homepage owl:Thing foaf:Document

foaf:knows foaf:Person foaf:Person

foaf:made(foaf:maker) foaf:Agent owl:Thing

foaf:mbox foaf:Agent owl:Thing

foaf:member foaf:Group foaf:Agent

foaf:primaryTopic(foaf:isPrimaryTopicOf)

foaf:Document owl:Thing

foaf:account foaf:Agent foaf:OnlineAccount

foaf:accountName foaf:OnlineAccount rdfs:Literal

foaf:accountServiceHomepage foaf:OnlineAccount foaf:Document

foaf:aimChatID foaf:Agent rdf:Literal

foaf:currentProject foaf:Person owl:Thing

foaf:depiction(foaf:depicts) owl:Thing foaf:Image

foaf:familyName foaf:Person rdfs:Literal

foaf:firstName foaf:Person rdfs:Literal

foaf:gender foaf:Agent rdfs:Literal

foaf:givenName foaf:Agent rdfs:Literal

foaf:icqChatID foaf:Agent rdfs:Literal

foaf:img foaf:Person foaf:Image

foaf:interest foaf:Agent foaf:Document

foaf:jabberID foaf:Agent rdfs:Literal

foaf:lastName foaf:Person rdfs:Literal

foaf:logo owl:Thing owl:Thing

foaf:mbox_sha1sum foaf:Agent rdfs:Literal

foaf:msnChatID foaf:Agent rdfs:Literal

foaf:myersBriggs foaf:Person rdfs:Literal

foaf:name owl:Thing rdfs:Literal

foaf:nick foaf:Person rdfs:Literal

foaf:openid foaf:Agent foaf:Document

foaf:page owl:Thing foaf:Document

foaf:pastProject foaf:Person owl:Thing

foaf:phone owl:Thing rdfs:Literal

15

Page 19: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

foaf:plan foaf:Person rdfs:Literal

foaf:publications foaf:Person foaf:Document

foaf:schoolHomepage foaf:Person foaf:Document

foaf:skypeID foaf:Agent rdfs:Literal

foaf:thumbnail foaf:Image foaf:Image

foaf:tipjar foaf:Agent foaf:Document

foaf:title foaf:Person rdfs:Literal

foaf:topic foaf:Document owl:Thing

foaf:topic_interest foaf:Agent owl:Thing

foaf:weblog foaf:Agent foaf:Document

foaf:workInfoHomepage foaf:Person foaf:Document

foaf:workplaceHomepage foaf:Person foaf:Document

foaf:yahooChatID foaf:Agent rdfs:Literal

foaf:age foaf:Agent rdfs:Literal

foaf:birthday foaf:Agent rdfs:Literal

foaf:sha1 foaf:Document rdfs:Literal

Tablica 7.1. Prikaz svojstava i njihovi odgovarajućih domena i kodomena

16

Page 20: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

7. Semantically-Interlinked Online Communities (SIOC)

Do sada je bio problem povezati online zajednice sa različitih stranica. Kako podaci koji opisuju

te zajednice nisu bili standardizirani, autor sustava je imao slobodu na svoj načine interpretirati

podatke. To uzrokuje da svaka online zajednica ima na svoj specifičan način definirane podatke i

time je teže povezati istu sa ostalim zajednicama.

Slika 6.1. SIOC logo22

SIOC predstavlja ontologiju za semantički web i namijenjen je za međusobno povezivanje

različitih sustava za diskusiju poput blogova, foruma i mailing lista, odnosno online zajednica.

Ontologija u sebi sadrži set klasa koji omogućava standardizirani opis online zajednice i time je

lako jednu zajednicu povezati sa drugom.

7.1. Klase i svojstva unutar SIOC ontologije

Ontologija u sebi sadrži 11 klasa čiji je odnos prikazan slikom 6.2. Klasa Tag, odnosno

Category, trenutno je prikazana na slici 6.2., ali ona nije definirana u trenutnoj specifikaciji. Ta

klasa se planira uvesti u sljedećim iteracijama specifikacije.

Slika 6.2. Prikaz odnosa klasa u SIOC ontologiji23

22 Izvor slike: http://sioc-project.org/files/sioc_logo.gif23 Izvor slike: http://rdfs.org/sioc/spec/img/main_classes_properties.png

17

Page 21: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Klase

− sioc:Community – klasa predstavlja zajednicu u kojoj mogu biti definirani različiti

tipovi objekata (poput ljudi, Internet stranica, foruma) koje povezuje zajednički interes ili

cilj. Ova klasa se razlikuje od klase Site koja inače predstavlja samo jednu Internet

mjesto.

− sioc:Container – općenita klasa koja u sebi može sadržavati različite instance klase Item

koje povezuje zajednički sadržaj. Klasa je povezana sa klasom Item preko svojstva

sioc:container_of i sioc:has_container. Također je moguće definirati hijerarhiju među

instancama klase preko svojstava sioc:parent_of i sioc:has_parent.

− sioc:Forum – je podklasa klasi sioc:Container. Klasa predstavlja područje u kojem se

nalaze instance klase Post. Forum se može nalaziti na nekoj Internet stranici što je

definirano svojstvom sioc:has_host. Također forum može imati moderatora što je

definirano svojstvom sioc:has_moderator.

− sioc:Item – je nadklasa klasi sioc:Post. Predstavlja općenitu klasu objektima koji mogu

biti postavljeni na forum.

− sioc:Post – klasa predstavlja poruku koja može biti postavljena na forumu od strane

korisnika. Neki postovi mogu biti povezani ukoliko dijele zajedničku temu rasprave.

− sioc:Role – predstavlja ulogu, odnosno funkciju, nekog korisnika u određenom području

djelovanja.

− sioc:Site – klasa koja predstavlja lokaciju na kojoj se nalazi samo jedna online zajednica

ili više njih.

− sioc:Space – klasa predstavlja prostor gdje se mogu nalaziti različiti objekti.

− sioc:Thread – odnosi se na niz postova ili predmeta koji su povezani zajedničkom

temom ili nečime drugim.

− sioc:UserAccount – korisnik koji pripada nekoj online zajednici

− sioc:Usergroup – grupa korisnika koji dijele zajednički interes ili cilj. Korisnici se mogu

grupirati ukoliko imaju zajedničku ulogu na nekom forumu ili možda ako odgovaraju na

određeni forum.

18

Page 22: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Svojstva

− sioc:about – specificira resurs koji predmet obrade nekog posta

− sioc:account_of – odnosi se na klasu foaf:Agent ili foaf:Person koji je vlasnik

UserAccounta

− sioc:addressed_to – definira osobu, e-mail adresu, korisnika za kojeg je određeni post

namijenjen

− sioc:administrator_of (inv. sioc:has_administrator) – predstavlja Site na kojoj je

UserAccount administrator.

− sioc:attachment – URI datoteke koja se odnosi na određeni Item

− sioc:avatar – sadrži sliku koja predstavlja UserAccount

− sioc:container_of (inv. sioc:has_container)– sadrži Item koji se nalazi unutar

Containera. Svojstvo predstavlja vezu između Containera ili Foruma prema Itemu,

odnosno Postu

− sioc:content – sadrži tekst koji predstavlja sadržaj Itema

− sioc:creator_of (inv. sioc:has_creator) – povezuje korisnika sa resursom kojeg je

stvorio

− sioc:earlier_version – poveznica prema ranijoj verziji Itema ili Posta

− sioc:email – predstavlja email adresu korisnika. Za email adresu se uglavnom uzima

primarna adresa korisnika.

− sioc:email_sha1 – korisnička email adresa kodirana sa SHA1

− sioc:embeds_knowledge – ovo svojstvo povezuje Item sa uklopljenim izjavama,

činjenicama i strukturiranim sadržajem

− sioc:feed – povezuje resurs (Forum, Site,..) sa njemu odgovarajućim RSS feed-om (ili

Atom, itd.)

− sioc:follows – predstavlja da jedan UserAccount prati drugi UserAccount, odnosno

njegove aktivnosti unutar online zajednice.

− sioc:function_of (inv. sioc:has_function) – povezuje Role sa UserAccountom. kod

inverznog svojstva, UserAccount može imati različite Role na različitim Forumima.

19

Page 23: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

− sioc:has_discussion – povezuje Item sa odgovarajućom diskusijom, dok ono može biti

sioc:Forum, sioct:WikiArticle ili foaf:Document.

− sioc:has_host (inv. sioc:host_of) –sadrži Site na kojem se Forum nalazi.

− sioc:member_of(inv. has_member) - Usergroup u kojem se UserAccount nalazi

− sioc:moderator_of(inv. has_moderator) - predstavlja Forum kojem je UserAccount

moderator

− sioc:modifier_of(inv. has_modifier) - predstavlja Item kojeg je UserAccount izmijenio.

− sioc:owner_of(inv. has_owner) - predstavlja resurs kojem je UserAccoutn vlasnik.

− sioc:parent_of(inv. has_parent) - predstavlja dijete Container ili Forum kojem je ovaj

Container ili Forum roditelj.

− sioc:reply_of(inv. as_reply) - predstavlja Item ili Post kao odgovor na Item ili Post.

− sioc:scope_of(inv. has_scope) - predstavlja Role koji ima doseg na ovaj resurs

− sioc:space_of(inv. has_space) - predstavlja resurs koji pripada određenom Spaceu

− sioc:subscriber_of(inv. has_subscriber) - predstavlja Container na koji je UserAccount

pretplaćen

− sioc:usergroup_of(inv. has_usergroup) - predstavlja Space koji ovaj Usergroup ima

pravo pristupa.

− sioc:id - identifikator u SOIC ontologiji. ID mora biti jedinstven za svaki resurs unutar

iste online zajednice.

− sioc:ip_address - sadrži IP adresu autora Itema.

− sioc:last_activity_date - vrijeme zadnje aktivnosti koja se dogodila na resursu

− sioc:last_item_date - vrijeme zadnjeg Posta ili Itema unutar Foruma, odnosno

Containera.

− sioc:last_reply_date - vrijeme zadnjeg odgovora na Item ili Post.

− sioc:latest_version - predstavlja Item koji je zadnja verzija Itema

− sioc:link - predstavlja URI dokumenta koji sadrži ovaj SIOC objekt

20

Page 24: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

− sioc:links_to - predstavlja link koji se nalazi unutar Posta ili Sitea

− sioc:name - sadrži naziv ili ime objekta unutar SIOC ontologije

− sioc:next_by_date(inv. previous_by_date) - sljedeći Item ili Post po vremenu unutar

danog Containera

− sioc:next_version(inv. previous_version) - predstavlja sljedeću verziju Itema ili Posta

− sioc:note - predstavlja zabilješku u vezi objekta

− sioc:num_authors - broj jedinstveni autora na Itemu, Postu ili Threadu...

− sioc:num_items - broj Postova (ili Itema) u Forumu (ili Containeru)

− sioc:num_replies - broj odgovora koji Item, Thread ili Post ima.

− sioc:num_threads - broj Thredova unutar foruma

− sioc:num_views - broj koliko puta je neki objekt pregledan

− sioc:related_to - predstavlja Post koji je u vez sa ovim Postom

− sioc:sibling - koristi se za povezivanje Itema koji su isti (ili malo različit), ali se nalaze u

različitom Containeru.

− sioc:topic - predstavlja temu s kojom je objekt povezan

21

Page 25: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Odnos klasa i svojstva

Tablica 6.1. prikazuje odnos svojstva i klasa na takav način da za svako svojstvo je navedeno u

kojoj se klasi ono nalazi, odnosno domeni i koju vrijednost svojstvo može poprimiti, odnosno

kodomena svojstva.

svojstvo(inverzno svojstvo) Domena Kodomena

sioc:about sioc:Item rdf:resource24

sioc:account_of(has_account) sioc:UserAccount foaf:Agent

sioc:addressed_to sioc:Item

sioc:administrator_of(has_administrator

sioc:UserAccount sioc:Site

sioc:attachment sioc:Item rdf:resource

sioc:avatar sioc:UserAccount rdf:resource

sioc:container_of(has_container)

sioc:Container sioc:Item

sioc:content sioc:Item rdfs:Literal25

sioc:creator_of(has_creator) sioc:UserAccount sioc:Item

sioc:earlier_version(later_version)

sioc:Item sioc:Item

sioc:email sioc:UserAccount rdfs:Literal

sioc:email_sha1 sioc:UserAccount rdfs:Literal

sioc:embeds_knowledge sioc:Item http://www.w3.org/2004/03/trix/rdfg-1/:Graph

sioc:feed owl:Thing rdf:resource

sioc:follow sioc:UserAccount sioc:UserAccount

sioc:function_of(has_function) sioc:Role sioc:UserAccount

sioc:has_discussion sioc:Item rdf:resource

sioc:host_of(has_host) sioc:Site sioc:Forum

sioc:member_of(has_member) sioc:UserAccount sioc:Usergroup

sioc:moderator_of(has_moderator)

sioc:UserAccount sioc:Item

sioc:modifier_of(has_modifier)

sioc:UserAccount sioc:Item

sioc:owner_of(has_owner) sioc:UserAccount owl:Thing

sioc:parent_of(has_parent) sioc:Container sioc:Container

24 rdf:resource je dio RDF specifikacije i predstavlja URI na neki vanjski dokument25 rdfs:Literal je dio RDF specifikacije, a odnosi se na tekst, broj, datum ...

22

Page 26: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

sioc:reply_of(has_reply) sioc:Item sioc:Item

sioc:scope_of(has_scope) sioc:Role

sioc:space_of(has_space) sioc:Space

sioc:subscriber_of(has_subscriber)

sioc:UserAccount sioc:Container

sioc:usergroup_of(has_usergroup)

sioc:Usergroup sioc:Space

sioc:id rdfs:Literal

sioc:ip_address sioc:Item rdfs:Literal

sioc:last_activity_date rdfs:Literal

sioc:last_item_date sioc:Container rdfs:Literal

sioc:last_reply_date sioc:Item rdfs:Literal

sioc:latest_version sioc:Item sioc:Item

sioc:link

sioc:links_to

sioc:name rdfs:Literal

sioc:next_by_date(previous_by_date)

sioc:Item sioc:Item

sioc:next_version(previous_version)

sioc:Item sioc:Item

sioc:note rdfs:Literal

sioc:num_authors xsd:nonNegativeInteger26

sioc:num_items sioc:Container xsd:nonNegativeInteger

sioc:num_replies xsd:nonNegativeInteger

sioc:num_threads sioc:Forum xsd:nonNegativeInteger

sioc:num_views xsd:nonNegativeInteger

sioc:related_to

sioc:sibling sioc:Item sioc:Item

sioc:topic

Tablica 6.1. Prikaz svojstava i njihovi odgovarajućih domena i kodomena

Prema SIOC standardizaciji, nekim svojstvima nije točno definirana koja im je domena, odnosno

kodomena. Kod takvih svojstava, domena je uglavnom bilo koja klasa ili se može uzeti klasa

owl:Thing i sve njezine podklase. Dok kod kodomene može biti owl:Thing, rdfs:Literal ili

rdf:Resource.

26 xsd:nonNegativeInteger predstavlja cijeli broj koji nije negativan23

Page 27: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

8. Implementacija SIOC i FOAF ontologije

U ontologijama postoji odnos nadklasa, podklasa između klasa što omogućava da u bazi

podataka nije potrebno za svaku klasu raditi tablicu sa svim atributima koje ta klasa može imati.

U tom slučaju je dovoljno za podklasu definirati tablicu koja će imati atribute specifične za tu

klasu, te prilikom čitanje iz baze podataka, ostale atribute dohvatiti preko reference na nadklasu.

Kako je klasa owl:Thing je nadklasa svim klasama, njezina tablica sadrži sve atribute koji su

zajednički svim klasama unutar ontologije. Na nju se referenciraju sve ostale klase.

Uzmimo na primjer klasu sioc:Forum. Njoj je nadklasa sioc:Container, te nadnadklasa

owl:Thing. Kako bi se prilikom čitanja podataka za objekt Forum, potrebno je doći do

vrijednosti svih atributa. Dio atributa koji su specifični za sioc:Forum nalaze se u istoimenoj

tablici u kojoj se nalazi i referenca na tablicu "sioc:Container" gdje se nalaze dodatni atributi koji

su vezani za traženi objekt. Porotom tablica "sioc:Container" sadrži referencu na tablicu

"owl:Thing" gdje se nalaze svi preostali atributi. Da bi se pročitali svi podaci za određeni objekt

tipa Forum, potrebno je pročitati podatke iz tri tablice.

Kod implementacije baze podataka za SIOC, treba napomenuti da za neke klase nisu definirane

posebne tablice, već se podaci vezani za instancu te klase spremaju u tablici koja predstavlja

nadklasu. Uzmimo na primjer klasu sioc:Usergroup. Prema SIOC specifikaciji, ukoliko objekt

sadrži svojstvo sioc:has_member, taj objekt je instanca klase sioc:Usergroup. U ovom slučaju

svojstvo sioc:has_member, i njemu inverzno svojstvo sioc:, je realizirano pomoću dodatne

tablice "sioc:Usergroup_sioc:UserAccount" pri čemu nema dodatnog svojstva koje bi moglo reći

da se radi o navedenoj klasi. Stoga se podaci instance spremaju u tablicu koja predstavlja

nadklasu, što je u ovom slučaju owl:Thing. Unutar SIOC ontologije, uz klasu sioc:Usergoup, kod

implementacije baze podataka postoji još klasa čiji se podaci instance spremaju u tablicu

nadklase. To su:

− sioc:Thread – podaci se pohranjuju u tablicu koja prezentira sioc:Container klasu

− sioc:Role – podaci se pohranjuju u "owl:Thing" tablicu

− sioc:Space – također se podaci pohranjuju u tablicu "owl:Thing"

− sioc:Site – iako je ova klasa podklasa klasi sioc:Space, a i navedeno je da se podaci za

Space pohranjuju u tablicu "owl:Thing", podaci za Site se također pohranjuju u navedenu

tablicu.

24

Page 28: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Prema ovoj implementaciji, također postoje klase iz FOAF ontologije čiji se podaci instance

pohranjuju u tablice nadklasa. Za FOAF, to su:

− foaf:Group – pohranjuje se u "foaf:Agent"

− foaf:Organization – pohranjuje se u "foaf:Agent"

− foaf:Image – pohranjuje se u "foaf:Document"

− foaf:PersonalProfileDocument – pohranjuje se u "foaf:Document"

− foaf:OnlineChatAccount – pohranjuje se u "foaf:OnlineAccount"

− foaf:OnlineEcommerceAccount – pohranjuje se u "foaf:OnlineAccount"

− foaf:OnlineGamingAccount – pohranjuje se u "foaf:OnlineAccount"

Kako bi se znalo prilikom čitanja iz baze podataka znalo o kojoj se klasi radi, dodana ja tablica

"sioc_foaf_class". Navedena tablica sadrži nazive svih klasa koje postoje u SIOC i u FOAF

ontologiji. Na tu tablice se referencira vanjski ključ "sioc_foaf_classid" iz tablice "owl:Thing"

što prilikom čitanja podataka o objektima definira tip objekta.

25

Page 29: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

Slika 8.1. Entity-Relation dijagram baze podataka za SIOC i FOAF ontologije

26

Page 30: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

9. Zaključak

FOAF ontologiju bi trebalo doraditi jer je mali broj klasa i svojstva koji su u potpunosti

prihvaćeni u standardizaciji. Također bi bilo potrebno smanjiti redudanciju među svojstvima jer

većina svojstava nije dobro definirana i zbog toga se javljaju preklapanja među semantikom. Kod

SIOC ontologije također postoje svojstva koja su nedovoljno definirana. Time otežava

implementacija samoh ontologija.

Postoji veliki broj primjera gdje se kod generiranih SIOC i FOAF datoteka ne definiraju svi

podaci te se time ne iskorištavaju sva svojstva i semantiku koju ontologije pružaju i time objekti

ostaju nedorečeni i gubi se smisao semantičkog weba gdje bi sve trebalo biti povezano. To se

može izbjeći ukoliko se bolje standardiziraju ontologije i veze prema drugim ontologijama.

Kod implementacije ontologija u relacijskoj bazi podataka i pohranjivanje podataka iz ontologija

javlja se problem da veći dio atributa nema vrijednosti što dovodi do bespotrebnog zauzeća

memorijskog prostora. U većini slučajeva se dogodi da se kreira objekt koji ima samo vrijednost

za svojstvo rdf:resource.

Potrebno je napomenuti da su obje ontologije još u razvoju, te takve podliježu promjenama. No

to ne mora biti glavni razlog promjenama. Moguće je u skoroj budućnosti da se definiraju i

standardiziraju nove ontologije koje će moći nadopunjavati već postojeće.

27

Page 31: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

10. Literatura

1. The World Wide Web Consortium (W3C). XML TECHNOLOGY. Dostupno 12.9.2011. na

http://www.w3.org/standards/xml/

2. Wikipedia. Extensible Markup Language. Dostupno 12.9.2011. na

http://en.wikipedia.org/wiki/XML

3. Erik T. Ray. (2001). Learning XML. O'Reilly

4. Elliote R. Harold. (2001). XML Bible, Second Edition. New York: Hungry Minds

5. The World Wide Web Consortium (W3C). Resource Description Framework (RDF).

Dostupno 12.9.2011. na http://www.w3.org/RDF/

6. The World Wide Web Consortium (W3C). RDF Primer. Dostupno 12.9.2011. na

http://www.w3.org/TR/rdf-primer/

7. Wikipedia. Resource Description Framework. Dostupno 12.9.2011. na

http://en.wikipedia.org/wiki/Resource_Description_Framework

8. Shelley Powers. (2003). Practical RDF. O'Reilly

9. Shadbolt, N., Hall, W., Berners-Lee, T. (2006). The Semantic Web Revisited. IEEE

Intelligent Systems

10. RDFS.org. SIOC Core Ontology Specification. Dostupno 12.9.2011. na

http://xmlns.com/sioc/spec/

11. xmlns.com. FOAF Vocabulary Specification 0.98. Dostupno 12.9.2011. na

http://rdfs.org/foaf/spec/

12. Berners-Lee, T., Hendler, J. and Lassila, O. (2001).The Semantic Web. Scientific American.

28

Page 32: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

11. Prilog 1 – SQL skripta za kreiranje baze podataka

1 CREATE TABLE "owl:Thing" (2   id                         SERIAL NOT NULL, 3   "rdf:about"               varchar(255), 4   "rdfs:label"              varchar(255), 5   "rdf:resource"            varchar(255), 6   "rdfs:seeAlso"            varchar(255), 7   sioc_foaf_classid         int4, 8   "sioc:has_creator"        int4, 9   "sioc:feed"               varchar(255), 10   "sioc:has_owner"          int4, 11   "sioc:id"                 int4, 12   "sioc:last_activity_date" timestamp, 13   "sioc:link"               varchar(255), 14   "sioc:name"               varchar(30), 15   "sioc:note"               text, 16   "sioc:num_authors"        int4, 17   "sioc:num_views"          int4, 18   "sioc:topic"              varchar(255), 19   "foaf:homepage"           int4 NOT NULL, 20   "foaf:maker"              int4 NOT NULL, 21   "foaf:mbox"               int4 NOT NULL, 22   "foaf:name"               int4, 23   "foaf:phone"              varchar(20), 24   "foaf:page"               int4 NOT NULL, 25   PRIMARY KEY (id));26 CREATE TABLE "sioc:UserAccount_sioc:Site" (27   "sioc:UserAccountid" int4 NOT NULL, 28   "sioc:Siteid"        int4 NOT NULL, 29   PRIMARY KEY ("sioc:UserAccountid", 30   "sioc:Siteid"));31 CREATE TABLE "sioc:UserAccount_sioc:Item" (32   "sioc:UserAccountid" int4 NOT NULL, 33   "sioc:Itemid"        int4 NOT NULL, 34   PRIMARY KEY ("sioc:UserAccountid", 35   "sioc:Itemid"));36 CREATE TABLE "sioc:Item_sioc:Item" (37   "sioc:Itemid"  int4 NOT NULL, 38   "sioc:Itemid2" int4 NOT NULL, 39   PRIMARY KEY ("sioc:Itemid", 40   "sioc:Itemid2"));41 CREATE TABLE "sioc:Forum_sioc:UserAccount" (42   "sioc:Forumid"       int4 NOT NULL, 43   "sioc:UserAccountid" int4 NOT NULL, 44   PRIMARY KEY ("sioc:Forumid", 45   "sioc:UserAccountid"));46 CREATE TABLE "sioc:Role_owl:Thing" (47   "sioc:Roleid" int4 NOT NULL, 48   "owl:Thingid" int4 NOT NULL, 49   PRIMARY KEY ("sioc:Roleid", 50   "owl:Thingid"));51 CREATE TABLE "sioc:Container" (52   id                    int4 NOT NULL, 53   "sioc:has_parent"     int4, 54   "sioc:last_item_date" timestamp, 55   "sioc:num_items"      int4, 56   PRIMARY KEY (id));

29

Page 33: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

57 CREATE TABLE "sioc:UserAccount_sioc:Usergroup" (58   "sioc:UserAccountid" int4 NOT NULL, 59   "sioc:Usergroupid"   int4 NOT NULL, 60   PRIMARY KEY ("sioc:UserAccountid", 61   "sioc:Usergroupid"));62 CREATE TABLE "sioc:UserAccount_sioc:UserAccount" (63   "sioc:UserAccountid"  int4 NOT NULL, 64   "sioc:UserAccountid2" int4 NOT NULL, 65   PRIMARY KEY ("sioc:UserAccountid", 66   "sioc:UserAccountid2"));67 CREATE TABLE "sioc:Container_sioc:UserAccount" (68   "sioc:Containerid"   int4 NOT NULL, 69   "sioc:UserAccountid" int4 NOT NULL, 70   PRIMARY KEY ("sioc:Containerid", 71   "sioc:UserAccountid"));72 CREATE TABLE "sioc:Usergroup_sioc:Space" (73   "sioc:Usegroupid" int4 NOT NULL, 74   "sioc:Spaceid"    int4 NOT NULL, 75   PRIMARY KEY ("sioc:Usegroupid", 76   "sioc:Spaceid"));77 CREATE TABLE "sioc:Forum" (78   id                 int4 NOT NULL, 79   "sioc:has_host"    int4 NOT NULL, 80   "sioc:num_threads" int4, 81   PRIMARY KEY (id));82 CREATE TABLE "sioc:Item" (83   id                      int4 NOT NULL, 84   "sioc:about"            varchar(255), 85   "sioc:addressed_to"     varchar(50), 86   "sioc:attachment"       varchar(255), 87   "sioc:has_container"    int4, 88   "sioc:content"          text, 89   "sioc:earlier_version"  int4, 90   "sioc:embeds_knowledge" varchar(255), 91   "sioc:has_discussion"   varchar(255), 92   "sioc:has_reply"        int4, 93   "sioc:ip_address"       varchar(16), 94   "sioc:last_reply_date"  timestamp, 95   "sioc:latest_version"   int4 NOT NULL, 96   "sioc:next_version"     int4 NOT NULL, 97   "sioc:num_replies"      int4, 98   "sioc:previous_by_date" int4 NOT NULL, 99   PRIMARY KEY (id));100 CREATE TABLE "sioc:Space_owl:Thing" (101   "sioc:Spaceid" int4 NOT NULL, 102   "owl:Thingid"  int4 NOT NULL, 103   PRIMARY KEY ("sioc:Spaceid", 104   "owl:Thingid"));105 CREATE TABLE "sioc:UserAccount" (106   id                int4 NOT NULL, 107   "sioc:account_of" int4 NOT NULL, 108   "sioc:avatar"     varchar(255), 109   "sioc:email"      varchar(50), 110   "sioc:email_sha1" varchar(50), 111   PRIMARY KEY (id));112 CREATE TABLE "sioc:Role_sioc:UserAccount" (113   "sioc:Roleid"        int4 NOT NULL, 114   "sioc:UserAccountid" int4 NOT NULL, 115   PRIMARY KEY ("sioc:Roleid", 

30

Page 34: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

116   "sioc:UserAccountid"));117 CREATE TABLE "foaf:Person_owl:Thing2" (118   "foaf:Personid" int4 NOT NULL, 119   "owl:Thingid"   int4 NOT NULL, 120   PRIMARY KEY ("foaf:Personid", 121   "owl:Thingid"));122 CREATE TABLE "foaf:Group_foaf:Agent" (123   "foaf:Groupid"  int4 NOT NULL, 124   "foaf:Agentid2" int4 NOT NULL, 125   PRIMARY KEY ("foaf:Groupid", 126   "foaf:Agentid2"));127 CREATE TABLE "foaf:Agent_foaf:Document" (128   "foaf:Agentid"    int4 NOT NULL, 129   "foaf:Documentid" int4 NOT NULL, 130   PRIMARY KEY ("foaf:Agentid", 131   "foaf:Documentid"));132 CREATE TABLE "foaf:Document" (133   id            int4 NOT NULL, 134   "foaf:sha1"   varchar(50), 135   "foaf:topic"  int4 NOT NULL, 136   "foaf:weblog" int4 NOT NULL, 137   PRIMARY KEY (id));138 CREATE TABLE "foaf:Document_owl:Thing" (139   "foaf:Documentid" int4 NOT NULL, 140   "owl:Thingid"     int4 NOT NULL, 141   PRIMARY KEY ("foaf:Documentid", 142   "owl:Thingid"));143 CREATE TABLE "foaf:Person_foaf:Person" (144   "foaf:Personid"  int4 NOT NULL, 145   "foaf:Personid2" int4 NOT NULL, 146   PRIMARY KEY ("foaf:Personid", 147   "foaf:Personid2"));148 CREATE TABLE "foaf:Image" (149   id               int4 NOT NULL, 150   "foaf:depicts"   int4 NOT NULL, 151   "foaf:thumbnail" int4 NOT NULL, 152   PRIMARY KEY (id));153 CREATE TABLE "foaf:Person_owl:Thing" (154   "foaf:Personid" int4 NOT NULL, 155   "owl:Thingid"   int4 NOT NULL, 156   PRIMARY KEY ("foaf:Personid", 157   "owl:Thingid"));158 CREATE TABLE "foaf:OnlineAccount" (159   id                            int4 NOT NULL, 160   "foaf:accountName"            varchar(50), 161   "foaf:account"                int4 NOT NULL, 162   "foaf:accountServiceHomepage" int4 NOT NULL, 163   PRIMARY KEY (id));164 CREATE TABLE "foaf:Agent" (165   id                    int4 NOT NULL, 166   "foaf:aimChatId"      varchar(50), 167   "foaf:gender"         varchar(10), 168   "foaf:icqChatID"      varchar(50), 169   "foaf:jabberID"       varchar(50), 170   "foaf:mbox_sha1sum"   varchar(50), 171   "foaf:msnChatID"      varchar(50), 172   "foaf:skypeID"        varchar(50), 173   "foaf:yahooChatID"    varchar(50), 174   "foaf:age"            int4, 

31

Page 35: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

175   "foaf:birthday"       varchar(30), 176   "foaf:givenName"      varchar(50), 177   "foaf:tipjar"         int4 NOT NULL, 178   "foaf:topic_interest" int4 NOT NULL, 179   PRIMARY KEY (id));180 CREATE TABLE "foaf:Person" (181   id                       int4 NOT NULL, 182   "foaf:familyName"        varchar(20), 183   "foaf:firstNme"          varchar(20), 184   "foaf:lastName"          varchar(20), 185   "foaf:myersBriggs"       varchar(10), 186   "foaf:Nick"              varchar(20), 187   "foaf:plan"              varchar(255), 188   "foaf:title"             varchar(30), 189   "foaf:img"               int4 NOT NULL, 190   "foaf:schoolHomepage"    int4 NOT NULL, 191   "foaf:workInfoHomepage"  int4 NOT NULL, 192   "foaf:workplaceHomepage" int4 NOT NULL, 193   PRIMARY KEY (id));194 CREATE TABLE "foaf:Person_foaf:Document" (195   "foaf:Personid"   int4 NOT NULL, 196   "foaf:Documentid" int4 NOT NULL, 197   PRIMARY KEY ("foaf:Personid", 198   "foaf:Documentid"));199 CREATE TABLE sioc_foaf_class (200   id          SERIAL NOT NULL, 201   class_name varchar(30), 202   PRIMARY KEY (id));203 ALTER TABLE "foaf:Person" ADD CONSTRAINT "foaf:workInfoHomepage" 

FOREIGN KEY ("foaf:workInfoHomepage") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Set null;

204 ALTER TABLE "foaf:Person" ADD CONSTRAINT "foaf:workplaceHomepage" FOREIGN KEY ("foaf:workplaceHomepage") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Set null;

205 ALTER TABLE "foaf:Document" ADD CONSTRAINT "foaf:weblog" FOREIGN KEY ("foaf:weblog") REFERENCES "foaf:Agent" (id) ON UPDATE Cascade ON DELETE Set null;

206 ALTER TABLE "foaf:Agent" ADD CONSTRAINT "foaf:topic_interest" FOREIGN KEY ("foaf:topic_interest") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Set null;

207 ALTER TABLE "foaf:Document" ADD CONSTRAINT "foaf:topic" FOREIGN KEY ("foaf:topic") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Set null;

208 ALTER TABLE "foaf:Agent" ADD CONSTRAINT "foaf:tipjar" FOREIGN KEY ("foaf:tipjar") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Set null;

209 ALTER TABLE "foaf:Image" ADD CONSTRAINT "foaf:thumbnail" FOREIGN KEY ("foaf:thumbnail") REFERENCES "foaf:Image" (id) ON UPDATE Cascade ON DELETE Set null;

210 ALTER TABLE "foaf:Person" ADD CONSTRAINT "foaf:schoolHomepage" FOREIGN KEY ("foaf:schoolHomepage") REFERENCES "foaf:Document" (id);

211 ALTER TABLE "foaf:Person_foaf:Document" ADD CONSTRAINT "FKfoaf:Perso293488" FOREIGN KEY ("foaf:Documentid") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Cascade;

212 ALTER TABLE "foaf:Person_foaf:Document" ADD CONSTRAINT "foaf:publications" FOREIGN KEY ("foaf:Personid") REFERENCES "foaf:Person" (id) ON UPDATE Cascade ON DELETE Cascade;

32

Page 36: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

213 ALTER TABLE "owl:Thing" ADD CONSTRAINT "foaf:page" FOREIGN KEY ("foaf:page") REFERENCES "foaf:OnlineAccount" (id) ON UPDATE Cascade ON DELETE Set null;

214 ALTER TABLE "foaf:Person_owl:Thing2" ADD CONSTRAINT "FKfoaf:Perso782873" FOREIGN KEY ("owl:Thingid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

215 ALTER TABLE "foaf:Person_owl:Thing2" ADD CONSTRAINT "foaf:pastProject" FOREIGN KEY ("foaf:Personid") REFERENCES "foaf:Person" (id) ON UPDATE Cascade ON DELETE Cascade;

216 ALTER TABLE "foaf:Agent_foaf:Document" ADD CONSTRAINT "FKfoaf:Agent220754" FOREIGN KEY ("foaf:Documentid") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Cascade;

217 ALTER TABLE "foaf:Agent_foaf:Document" ADD CONSTRAINT "foaf:interest" FOREIGN KEY ("foaf:Agentid") REFERENCES "foaf:Agent" (id) ON UPDATE Cascade ON DELETE Cascade;

218 ALTER TABLE "foaf:Person" ADD CONSTRAINT "foaf:img" FOREIGN KEY ("foaf:img") REFERENCES "foaf:Image" (id) ON UPDATE Cascade ON DELETE Set null;

219 ALTER TABLE "foaf:Image" ADD CONSTRAINT "foaf:depiction(foaf:depicts)" FOREIGN KEY ("foaf:depicts") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

220 ALTER TABLE "foaf:Person_owl:Thing" ADD CONSTRAINT "FKfoaf:Perso824916" FOREIGN KEY ("owl:Thingid") REFERENCES "owl:Thing" (id);

221 ALTER TABLE "foaf:Person_owl:Thing" ADD CONSTRAINT "foaf:currentProject" FOREIGN KEY ("foaf:Personid") REFERENCES "foaf:Person" (id) ON UPDATE Cascade ON DELETE Cascade;

222 ALTER TABLE "foaf:OnlineAccount" ADD CONSTRAINT "foaf:accountServiceHomePage" FOREIGN KEY ("foaf:accountServiceHomepage") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Cascade;

223 ALTER TABLE "foaf:OnlineAccount" ADD CONSTRAINT "foaf:account" FOREIGN KEY ("foaf:account") REFERENCES "foaf:Agent" (id) ON UPDATE Cascade ON DELETE Cascade;

224 ALTER TABLE "foaf:Document_owl:Thing" ADD CONSTRAINT "foaf:isPrimayTopic" FOREIGN KEY ("owl:Thingid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

225 ALTER TABLE "foaf:Document_owl:Thing" ADD CONSTRAINT "foaf:primaryTopic" FOREIGN KEY ("foaf:Documentid") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Cascade;

226 ALTER TABLE "foaf:Group_foaf:Agent" ADD CONSTRAINT "FKfoaf:Group783780" FOREIGN KEY ("foaf:Agentid2") REFERENCES "foaf:Agent" (id);

227 ALTER TABLE "foaf:Group_foaf:Agent" ADD CONSTRAINT "foaf:member" FOREIGN KEY ("foaf:Groupid") REFERENCES "foaf:Agent" (id) ON UPDATE Cascade ON DELETE Cascade;

228 ALTER TABLE "owl:Thing" ADD CONSTRAINT "foaf:mbox" FOREIGN KEY ("foaf:mbox") REFERENCES "foaf:Agent" (id) ON UPDATE Cascade ON DELETE Cascade;

229 ALTER TABLE "owl:Thing" ADD CONSTRAINT "foaf:made(foaf:maker)" FOREIGN KEY ("foaf:maker") REFERENCES "foaf:Agent" (id) ON UPDATE Cascade ON DELETE Cascade;

230 ALTER TABLE "foaf:Person_foaf:Person" ADD CONSTRAINT "foaf:knows" FOREIGN KEY ("foaf:Personid2") REFERENCES "foaf:Person" (id) ON UPDATE Cascade ON DELETE Cascade;

231 ALTER TABLE "foaf:Person_foaf:Person" ADD CONSTRAINT "foaf:knows_" FOREIGN KEY ("foaf:Personid") REFERENCES "foaf:Person" (id) ON UPDATE Cascade ON DELETE Cascade;

232 ALTER TABLE "owl:Thing" ADD CONSTRAINT "foaf:homepage" FOREIGN KEY ("foaf:homepage") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Set null;

33

Page 37: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

233 ALTER TABLE "sioc:Usergroup_sioc:Space" ADD CONSTRAINT "sioc:has_usergorup" FOREIGN KEY ("sioc:Spaceid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

234 ALTER TABLE "sioc:Usergroup_sioc:Space" ADD CONSTRAINT "sioc:usergroup_of" FOREIGN KEY ("sioc:Usegroupid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

235 ALTER TABLE "foaf:Image" ADD CONSTRAINT "FKfoaf:Image743785" FOREIGN KEY (id) REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Cascade;

236 ALTER TABLE "foaf:Person" ADD CONSTRAINT "FKfoaf:Perso102920" FOREIGN KEY (id) REFERENCES "foaf:Agent" (id) ON UPDATE Cascade ON DELETE Cascade;

237 ALTER TABLE "sioc:UserAccount_sioc:Usergroup" ADD CONSTRAINT "sioc:has_member" FOREIGN KEY ("sioc:Usergroupid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

238 ALTER TABLE "sioc:Space_owl:Thing" ADD CONSTRAINT "sioc:has_space" FOREIGN KEY ("sioc:Spaceid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

239 ALTER TABLE "sioc:Forum" ADD CONSTRAINT "sioc:host_of(sioc:has_host)" FOREIGN KEY ("sioc:has_host") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Set null;

240 ALTER TABLE "sioc:UserAccount_sioc:Site" ADD CONSTRAINT "sioc:has_administrator" FOREIGN KEY ("sioc:Siteid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

241 ALTER TABLE "sioc:Role_sioc:UserAccount" ADD CONSTRAINT "sioc:function_of" FOREIGN KEY ("sioc:Roleid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

242 ALTER TABLE "sioc:Role_owl:Thing" ADD CONSTRAINT "sioc:has_scope" FOREIGN KEY ("sioc:Roleid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

243 ALTER TABLE "sioc:Item_sioc:Item" ADD CONSTRAINT "sioc:sibling_" FOREIGN KEY ("sioc:Itemid2") REFERENCES "sioc:Item" (id) ON UPDATE Cascade ON DELETE Cascade;

244 ALTER TABLE "sioc:Item_sioc:Item" ADD CONSTRAINT "sioc:sibling" FOREIGN KEY ("sioc:Itemid") REFERENCES "sioc:Item" (id) ON UPDATE Cascade ON DELETE Cascade;

245 ALTER TABLE "sioc:Item" ADD CONSTRAINT "sioc:next_by_date(sioc:previous_by_date)" FOREIGN KEY ("sioc:previous_by_date") REFERENCES "sioc:Item" (id) ON UPDATE Cascade ON DELETE Set null;

246 ALTER TABLE "sioc:Item" ADD CONSTRAINT "sioc:previous_version(sioc:next_version)" FOREIGN KEY ("sioc:next_version") REFERENCES "sioc:Item" (id) ON UPDATE Cascade ON DELETE Set null;

247 ALTER TABLE "sioc:Item" ADD CONSTRAINT "sioc:latest_version" FOREIGN KEY ("sioc:latest_version") REFERENCES "sioc:Item" (id) ON UPDATE Cascade ON DELETE Set null;

248 ALTER TABLE "sioc:Container_sioc:UserAccount" ADD CONSTRAINT "sioc:subscriber_of" FOREIGN KEY ("sioc:UserAccountid") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

249 ALTER TABLE "sioc:Container_sioc:UserAccount" ADD CONSTRAINT "sioc:has_subscriber" FOREIGN KEY ("sioc:Containerid") REFERENCES "sioc:Container" (id) ON UPDATE Cascade ON DELETE Cascade;

250 ALTER TABLE "sioc:Space_owl:Thing" ADD CONSTRAINT "sioc:space_of" FOREIGN KEY ("owl:Thingid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

251 ALTER TABLE "sioc:Role_owl:Thing" ADD CONSTRAINT "sioc:scope_of" FOREIGN KEY ("owl:Thingid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

34

Page 38: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

252 ALTER TABLE "sioc:Item" ADD CONSTRAINT "sioc:reply_of(sioc:has_reply)" FOREIGN KEY ("sioc:has_reply") REFERENCES "sioc:Item" (id) ON UPDATE Cascade ON DELETE Set null;

253 ALTER TABLE "sioc:Container" ADD CONSTRAINT "sioc:parent_of(sioc:has_parent)" FOREIGN KEY ("sioc:has_parent") REFERENCES "sioc:Container" (id) ON UPDATE Cascade ON DELETE Set null;

254 ALTER TABLE "owl:Thing" ADD CONSTRAINT "sioc:owner_of(sioc:has_owner)" FOREIGN KEY ("sioc:has_owner") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

255 ALTER TABLE "sioc:UserAccount_sioc:Item" ADD CONSTRAINT "sioc:has_modifier" FOREIGN KEY ("sioc:Itemid") REFERENCES "sioc:Item" (id) ON UPDATE Cascade ON DELETE Cascade;

256 ALTER TABLE "sioc:UserAccount_sioc:Item" ADD CONSTRAINT "sioc:modifier_of" FOREIGN KEY ("sioc:UserAccountid") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

257 ALTER TABLE "sioc:Forum_sioc:UserAccount" ADD CONSTRAINT "sioc:moderator_of" FOREIGN KEY ("sioc:UserAccountid") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

258 ALTER TABLE "sioc:Forum_sioc:UserAccount" ADD CONSTRAINT "sioc:has_moderator" FOREIGN KEY ("sioc:Forumid") REFERENCES "sioc:Forum" (id) ON UPDATE Cascade ON DELETE Cascade;

259 ALTER TABLE "sioc:UserAccount_sioc:Usergroup" ADD CONSTRAINT "sioc:member_of" FOREIGN KEY ("sioc:UserAccountid") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

260 ALTER TABLE "sioc:Role_sioc:UserAccount" ADD CONSTRAINT "sioc:has_function" FOREIGN KEY ("sioc:UserAccountid") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

261 ALTER TABLE "sioc:UserAccount_sioc:UserAccount" ADD CONSTRAINT "(follow_by)" FOREIGN KEY ("sioc:UserAccountid2") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

262 ALTER TABLE "sioc:UserAccount_sioc:UserAccount" ADD CONSTRAINT "sioc:follows" FOREIGN KEY ("sioc:UserAccountid") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

263 ALTER TABLE "sioc:Item" ADD CONSTRAINT "sioc:later_version(sioc:earlier_version)" FOREIGN KEY ("sioc:earlier_version") REFERENCES "sioc:Item" (id) ON UPDATE Cascade ON DELETE Set null;

264 ALTER TABLE "owl:Thing" ADD CONSTRAINT "sioc:creator_of(sioc:has_creator)" FOREIGN KEY ("sioc:has_creator") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Set null;

265 ALTER TABLE "sioc:Item" ADD CONSTRAINT "sioc:container_of(sioc:has_container)" FOREIGN KEY ("sioc:has_container") REFERENCES "sioc:Container" (id) ON UPDATE Cascade ON DELETE Set null;

266 ALTER TABLE "sioc:UserAccount_sioc:Site" ADD CONSTRAINT "sioc:administrator_of" FOREIGN KEY ("sioc:UserAccountid") REFERENCES "sioc:UserAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

267 ALTER TABLE "sioc:UserAccount" ADD CONSTRAINT "foaf:account(sioc:account_of)" FOREIGN KEY ("sioc:account_of") REFERENCES "foaf:Agent" (id) ON UPDATE Cascade ON DELETE Cascade;

268 ALTER TABLE "foaf:Agent" ADD CONSTRAINT "FKfoaf:Agent387433" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

269 ALTER TABLE "sioc:UserAccount" ADD CONSTRAINT "FKsioc:UserA812211" FOREIGN KEY (id) REFERENCES "foaf:OnlineAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

270 ALTER TABLE "foaf:OnlineAccount" ADD CONSTRAINT "FKfoaf:Onlin624376" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

35

Page 39: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

271 ALTER TABLE "foaf:Document" ADD CONSTRAINT "FKfoaf:Docum478291" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

272 ALTER TABLE "sioc:Item" ADD CONSTRAINT "FKsioc:Item902159" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

273 ALTER TABLE "sioc:Forum" ADD CONSTRAINT "FKsioc:Forum801541" FOREIGN KEY (id) REFERENCES "sioc:Container" (id) ON UPDATE Cascade ON DELETE Cascade;

274 ALTER TABLE "sioc:Container" ADD CONSTRAINT "FKsioc:Conta116502" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

275 ALTER TABLE "owl:Thing" ADD CONSTRAINT "FKowl:Thing990503" FOREIGN KEY (sioc_foaf_classid) REFERENCES sioc_foaf_class (id) ON UPDATE Cascade ON DELETE Set null;

276 ALTER TABLE "owl:Thing" ADD CONSTRAINT "FKowl:Thing990504" FOREIGN KEY (sioc_foaf_classid) REFERENCES sioc_foaf_class (id) ON UPDATE Cascade ON DELETE Set null;

277 ALTER TABLE "sioc:Container" ADD CONSTRAINT "FKsioc:Conta116503" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

278 ALTER TABLE "sioc:Forum" ADD CONSTRAINT "FKsioc:Forum801542" FOREIGN KEY (id) REFERENCES "sioc:Container" (id) ON UPDATE Cascade ON DELETE Cascade;

279 ALTER TABLE "sioc:Item" ADD CONSTRAINT "FKsioc:Item902160" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

280 ALTER TABLE "sioc:UserAccount" ADD CONSTRAINT "FKsioc:UserA812212" FOREIGN KEY (id) REFERENCES "foaf:OnlineAccount" (id) ON UPDATE Cascade ON DELETE Cascade;

281 ALTER TABLE "foaf:Person_owl:Thing2" ADD CONSTRAINT "FKfoaf:Perso782874" FOREIGN KEY ("owl:Thingid") REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

282 ALTER TABLE "foaf:Group_foaf:Agent" ADD CONSTRAINT "FKfoaf:Group783781" FOREIGN KEY ("foaf:Agentid2") REFERENCES "foaf:Agent" (id);

283 ALTER TABLE "foaf:Agent_foaf:Document" ADD CONSTRAINT "FKfoaf:Agent220755" FOREIGN KEY ("foaf:Documentid") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Cascade;

284 ALTER TABLE "foaf:Document" ADD CONSTRAINT "FKfoaf:Docum478292" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

285 ALTER TABLE "foaf:Image" ADD CONSTRAINT "FKfoaf:Image743786" FOREIGN KEY (id) REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Cascade;

286 ALTER TABLE "foaf:Person_owl:Thing" ADD CONSTRAINT "FKfoaf:Perso824917" FOREIGN KEY ("owl:Thingid") REFERENCES "owl:Thing" (id);

287 ALTER TABLE "foaf:OnlineAccount" ADD CONSTRAINT "FKfoaf:Onlin624377" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

288 ALTER TABLE "foaf:Agent" ADD CONSTRAINT "FKfoaf:Agent387434" FOREIGN KEY (id) REFERENCES "owl:Thing" (id) ON UPDATE Cascade ON DELETE Cascade;

289 ALTER TABLE "foaf:Person" ADD CONSTRAINT "FKfoaf:Perso102921" FOREIGN KEY (id) REFERENCES "foaf:Agent" (id) ON UPDATE Cascade ON DELETE Cascade;

290 ALTER TABLE "foaf:Person_foaf:Document" ADD CONSTRAINT "FKfoaf:Perso293489" FOREIGN KEY ("foaf:Documentid") REFERENCES "foaf:Document" (id) ON UPDATE Cascade ON DELETE Cascade;

291 292 INSERT INTO sioc_foaf_class (class_name) VALUES ('foaf:Agent');293 INSERT INTO sioc_foaf_class (class_name) VALUES ('foaf:Document');

36

Page 40: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

294 INSERT INTO sioc_foaf_class (class_name) VALUES ('foaf:Group');295 INSERT INTO sioc_foaf_class (class_name) VALUES ('foaf:Image');296 INSERT INTO sioc_foaf_class (class_name) VALUES ('foaf:OnlineAccount');297 INSERT INTO sioc_foaf_class (class_name) VALUES 

('foaf:OnlineChatAccount');298 INSERT INTO sioc_foaf_class (class_name) VALUES 

('foaf:OnlineGamingAccount');299 INSERT INTO sioc_foaf_class (class_name) VALUES ('foaf:Organization');300 INSERT INTO sioc_foaf_class (class_name) VALUES ('foaf:Person');301 INSERT INTO sioc_foaf_class (class_name) VALUES 

('foaf:PersonalProfileDocument');302 INSERT INTO sioc_foaf_class (class_name) VALUES 

('foaf:OnlineEcommerceAccount');303 INSERT INTO sioc_foaf_class (class_name) VALUES ('owl:Thing');304 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:Container');305 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:Forum');306 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:Item');307 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:UserAccount');308 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:Post');309 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:Site');310 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:Space');311 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:Role');312 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:Usergroup');313 INSERT INTO sioc_foaf_class (class_name) VALUES ('sioc:Thread');

37

Page 41: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

12. Prilog 2 – SQL skripta za brisanje baze podataka

1 ALTER TABLE "foaf:Person" DROP CONSTRAINT "foaf:workInfoHomepage";2 ALTER TABLE "foaf:Person" DROP CONSTRAINT "foaf:workplaceHomepage";3 ALTER TABLE "foaf:Document" DROP CONSTRAINT "foaf:weblog";4 ALTER TABLE "foaf:Agent" DROP CONSTRAINT "foaf:topic_interest";5 ALTER TABLE "foaf:Document" DROP CONSTRAINT "foaf:topic";6 ALTER TABLE "foaf:Agent" DROP CONSTRAINT "foaf:tipjar";7 ALTER TABLE "foaf:Image" DROP CONSTRAINT "foaf:thumbnail";8 ALTER TABLE "foaf:Person" DROP CONSTRAINT "foaf:schoolHomepage";9 ALTER TABLE "foaf:Person_foaf:Document" DROP CONSTRAINT 

"FKfoaf:Perso293488";10 ALTER TABLE "foaf:Person_foaf:Document" DROP CONSTRAINT 

"foaf:publications";11 ALTER TABLE "owl:Thing" DROP CONSTRAINT "foaf:page";12 ALTER TABLE "foaf:Person_owl:Thing2" DROP CONSTRAINT 

"FKfoaf:Perso782873";13 ALTER TABLE "foaf:Person_owl:Thing2" DROP CONSTRAINT "foaf:pastProject";14 ALTER TABLE "foaf:Agent_foaf:Document" DROP CONSTRAINT 

"FKfoaf:Agent220754";15 ALTER TABLE "foaf:Agent_foaf:Document" DROP CONSTRAINT "foaf:interest";16 ALTER TABLE "foaf:Person" DROP CONSTRAINT "foaf:img";17 ALTER TABLE "foaf:Image" DROP CONSTRAINT "foaf:depiction(foaf:depicts)";18 ALTER TABLE "foaf:Person_owl:Thing" DROP CONSTRAINT 

"FKfoaf:Perso824916";19 ALTER TABLE "foaf:Person_owl:Thing" DROP CONSTRAINT 

"foaf:currentProject";20 ALTER TABLE "foaf:OnlineAccount" DROP CONSTRAINT 

"foaf:accountServiceHomePage";21 ALTER TABLE "foaf:OnlineAccount" DROP CONSTRAINT "foaf:account";22 ALTER TABLE "foaf:Document_owl:Thing" DROP CONSTRAINT 

"foaf:isPrimayTopic";23 ALTER TABLE "foaf:Document_owl:Thing" DROP CONSTRAINT 

"foaf:primaryTopic";24 ALTER TABLE "foaf:Group_foaf:Agent" DROP CONSTRAINT 

"FKfoaf:Group783780";25 ALTER TABLE "foaf:Group_foaf:Agent" DROP CONSTRAINT "foaf:member";26 ALTER TABLE "owl:Thing" DROP CONSTRAINT "foaf:mbox";27 ALTER TABLE "owl:Thing" DROP CONSTRAINT "foaf:made(foaf:maker)";28 ALTER TABLE "foaf:Person_foaf:Person" DROP CONSTRAINT "foaf:knows";29 ALTER TABLE "foaf:Person_foaf:Person" DROP CONSTRAINT "foaf:knows_";30 ALTER TABLE "owl:Thing" DROP CONSTRAINT "foaf:homepage";31 ALTER TABLE "sioc:Usergroup_sioc:Space" DROP CONSTRAINT 

"sioc:has_usergorup";32 ALTER TABLE "sioc:Usergroup_sioc:Space" DROP CONSTRAINT 

"sioc:usergroup_of";33 ALTER TABLE "foaf:Image" DROP CONSTRAINT "FKfoaf:Image743785";34 ALTER TABLE "foaf:Person" DROP CONSTRAINT "FKfoaf:Perso102920";35 ALTER TABLE "sioc:UserAccount_sioc:Usergroup" DROP CONSTRAINT 

"sioc:has_member";36 ALTER TABLE "sioc:Space_owl:Thing" DROP CONSTRAINT "sioc:has_space";37 ALTER TABLE "sioc:Forum" DROP CONSTRAINT "sioc:host_of(sioc:has_host)";38 ALTER TABLE "sioc:UserAccount_sioc:Site" DROP CONSTRAINT 

"sioc:has_administrator";39 ALTER TABLE "sioc:Role_sioc:UserAccount" DROP CONSTRAINT 

"sioc:function_of";40 ALTER TABLE "sioc:Role_owl:Thing" DROP CONSTRAINT "sioc:has_scope";41 ALTER TABLE "sioc:Item_sioc:Item" DROP CONSTRAINT "sioc:sibling_";

38

Page 42: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

42 ALTER TABLE "sioc:Item_sioc:Item" DROP CONSTRAINT "sioc:sibling";43 ALTER TABLE "sioc:Item" DROP CONSTRAINT 

"sioc:next_by_date(sioc:previous_by_date)";44 ALTER TABLE "sioc:Item" DROP CONSTRAINT 

"sioc:previous_version(sioc:next_version)";45 ALTER TABLE "sioc:Item" DROP CONSTRAINT "sioc:latest_version";46 ALTER TABLE "sioc:Container_sioc:UserAccount" DROP CONSTRAINT 

"sioc:subscriber_of";47 ALTER TABLE "sioc:Container_sioc:UserAccount" DROP CONSTRAINT 

"sioc:has_subscriber";48 ALTER TABLE "sioc:Space_owl:Thing" DROP CONSTRAINT "sioc:space_of";49 ALTER TABLE "sioc:Role_owl:Thing" DROP CONSTRAINT "sioc:scope_of";50 ALTER TABLE "sioc:Item" DROP CONSTRAINT "sioc:reply_of(sioc:has_reply)";51 ALTER TABLE "sioc:Container" DROP CONSTRAINT 

"sioc:parent_of(sioc:has_parent)";52 ALTER TABLE "owl:Thing" DROP CONSTRAINT "sioc:owner_of(sioc:has_owner)";53 ALTER TABLE "sioc:UserAccount_sioc:Item" DROP CONSTRAINT 

"sioc:has_modifier";54 ALTER TABLE "sioc:UserAccount_sioc:Item" DROP CONSTRAINT 

"sioc:modifier_of";55 ALTER TABLE "sioc:Forum_sioc:UserAccount" DROP CONSTRAINT 

"sioc:moderator_of";56 ALTER TABLE "sioc:Forum_sioc:UserAccount" DROP CONSTRAINT 

"sioc:has_moderator";57 ALTER TABLE "sioc:UserAccount_sioc:Usergroup" DROP CONSTRAINT 

"sioc:member_of";58 ALTER TABLE "sioc:Role_sioc:UserAccount" DROP CONSTRAINT 

"sioc:has_function";59 ALTER TABLE "sioc:UserAccount_sioc:UserAccount" DROP CONSTRAINT 

"(follow_by)";60 ALTER TABLE "sioc:UserAccount_sioc:UserAccount" DROP CONSTRAINT 

"sioc:follows";61 ALTER TABLE "sioc:Item" DROP CONSTRAINT 

"sioc:later_version(sioc:earlier_version)";62 ALTER TABLE "owl:Thing" DROP CONSTRAINT 

"sioc:creator_of(sioc:has_creator)";63 ALTER TABLE "sioc:Item" DROP CONSTRAINT 

"sioc:container_of(sioc:has_container)";64 ALTER TABLE "sioc:UserAccount_sioc:Site" DROP CONSTRAINT 

"sioc:administrator_of";65 ALTER TABLE "sioc:UserAccount" DROP CONSTRAINT 

"foaf:account(sioc:account_of)";66 ALTER TABLE "foaf:Agent" DROP CONSTRAINT "FKfoaf:Agent387433";67 ALTER TABLE "sioc:UserAccount" DROP CONSTRAINT "FKsioc:UserA812211";68 ALTER TABLE "foaf:OnlineAccount" DROP CONSTRAINT "FKfoaf:Onlin624376";69 ALTER TABLE "foaf:Document" DROP CONSTRAINT "FKfoaf:Docum478291";70 ALTER TABLE "sioc:Item" DROP CONSTRAINT "FKsioc:Item902159";71 ALTER TABLE "sioc:Forum" DROP CONSTRAINT "FKsioc:Forum801541";72 ALTER TABLE "sioc:Container" DROP CONSTRAINT "FKsioc:Conta116502";73 ALTER TABLE "owl:Thing" DROP CONSTRAINT "FKowl:Thing990503";74 ALTER TABLE "owl:Thing" DROP CONSTRAINT "FKowl:Thing990504";75 ALTER TABLE "sioc:Container" DROP CONSTRAINT "FKsioc:Conta116503";76 ALTER TABLE "sioc:Forum" DROP CONSTRAINT "FKsioc:Forum801542";77 ALTER TABLE "sioc:Item" DROP CONSTRAINT "FKsioc:Item902160";78 ALTER TABLE "sioc:UserAccount" DROP CONSTRAINT "FKsioc:UserA812212";79 ALTER TABLE "foaf:Person_owl:Thing2" DROP CONSTRAINT 

"FKfoaf:Perso782874";80 ALTER TABLE "foaf:Group_foaf:Agent" DROP CONSTRAINT 

"FKfoaf:Group783781";

39

Page 43: Baza podataka za SIOC (semantically interlinked on-line … · 2011-10-11 · U kontekstu baza podataka, ontologije se mogu promatrati kao razina apstrakcije podatkovnog modela analogno

81 ALTER TABLE "foaf:Agent_foaf:Document" DROP CONSTRAINT "FKfoaf:Agent220755";

82 ALTER TABLE "foaf:Document" DROP CONSTRAINT "FKfoaf:Docum478292";83 ALTER TABLE "foaf:Image" DROP CONSTRAINT "FKfoaf:Image743786";84 ALTER TABLE "foaf:Person_owl:Thing" DROP CONSTRAINT 

"FKfoaf:Perso824917";85 ALTER TABLE "foaf:OnlineAccount" DROP CONSTRAINT "FKfoaf:Onlin624377";86 ALTER TABLE "foaf:Agent" DROP CONSTRAINT "FKfoaf:Agent387434";87 ALTER TABLE "foaf:Person" DROP CONSTRAINT "FKfoaf:Perso102921";88 ALTER TABLE "foaf:Person_foaf:Document" DROP CONSTRAINT 

"FKfoaf:Perso293489";89 DROP TABLE "owl:Thing" CASCADE;90 DROP TABLE "sioc:UserAccount_sioc:Site" CASCADE;91 DROP TABLE "sioc:UserAccount_sioc:Item" CASCADE;92 DROP TABLE "sioc:Item_sioc:Item" CASCADE;93 DROP TABLE "sioc:Forum_sioc:UserAccount" CASCADE;94 DROP TABLE "sioc:Role_owl:Thing" CASCADE;95 DROP TABLE "sioc:Container" CASCADE;96 DROP TABLE "sioc:UserAccount_sioc:Usergroup" CASCADE;97 DROP TABLE "sioc:UserAccount_sioc:UserAccount" CASCADE;98 DROP TABLE "sioc:Container_sioc:UserAccount" CASCADE;99 DROP TABLE "sioc:Usergroup_sioc:Space" CASCADE;100 DROP TABLE "sioc:Forum" CASCADE;101 DROP TABLE "sioc:Item" CASCADE;102 DROP TABLE "sioc:Space_owl:Thing" CASCADE;103 DROP TABLE "sioc:UserAccount" CASCADE;104 DROP TABLE "sioc:Role_sioc:UserAccount" CASCADE;105 DROP TABLE "foaf:Person_owl:Thing2" CASCADE;106 DROP TABLE "foaf:Group_foaf:Agent" CASCADE;107 DROP TABLE "foaf:Agent_foaf:Document" CASCADE;108 DROP TABLE "foaf:Document";109 DROP TABLE "foaf:Document_owl:Thing" CASCADE;110 DROP TABLE "foaf:Person_foaf:Person" CASCADE;111 DROP TABLE "foaf:Image" CASCADE;112 DROP TABLE "foaf:Person_owl:Thing" CASCADE;113 DROP TABLE "foaf:OnlineAccount" CASCADE;114 DROP TABLE "foaf:Agent" CASCADE;115 DROP TABLE "foaf:Person" CASCADE;116 DROP TABLE "foaf:Person_foaf:Document" CASCADE;117 DROP TABLE sioc_foaf_class CASCADE;

40