Toolset for collaborative distributed web ontology development

grotesqueoperationInternet και Εφαρμογές Web

21 Οκτ 2013 (πριν από 3 χρόνια και 10 μήνες)

73 εμφανίσεις

Cognitive Systems and Knowledge Management Group, Institut
e of Cybernetic
s, TPU

Office 321, 84/3 Sovestkaya St., Tomsk, 634034, Russia

Phone: +7 3822 70
-
17
-
77, internal: 1138
.
E
-
mail: zaikin@tpu.ru






Ontology
Diff
Web
UI

Ontology Three Way Merge
UI






Single Entity Change Log





Toolset for collaborative distributed
web ontology development


Web ontologies make up the Semantic Web, which allows data to be shared and reused
across application, enterprise, and community boundaries.

Ontologies have a wide range
of applications, including such areas as
biology,
medicine, genetics,
oil production,
and
information technologies.


This
project

aim
s

at creating

a system

to
allow perform
ing

version control
and
collaborative distributed
develop
ment

of web ontologies

by integrating custom ontology
diff and merge tools with existing distributed version control systems and issue trackers.


Advantages

of
the

approach




Is based on mature systems
;



Does not require persistent network connection
;



Allows developers to use ont
ology editing software they are accustomed to
;



Does not restrict web ontology language expressiveness
.


Components of the System



Algorithms


Ontology

=

E
,
A
,
N
,
I
,
P
,
d
,
f


where



E



E
U



entities
;



A



A
U



axioms
;



N



N
U



ontology annotations (
n
p
,
n
v
),

where
n
p



ann
o
t.

property,
n
v



annot
.

value
;



I



I
U



imports (links to other ontologies)
;



P



P
U



S

×
S


prefixes (
p
n
,
p
i
),

where
p
n



prefix name,
p
i



prefix value
;



d


D



ontology identifier (
r
o
,
r
v
),
where
r
o



Ontology IRI,
r
v



Version IRI
;



f


F

= { «RDF/XML», «Turtle», «OWL/XML», «OWL Functional Syntax», «OWL
Manchester Syntax» }


o
ntology format


Ontology Diff

v
1

=


E
1
,

A
1
,
N
1
,

I
1
,

P
1
,

d
1
,

f
1



v
2

=


E
2
,

A
2
,
N
2
,

I
2
,

P
2
,

d
2
,

f
2


C
A

=
δ
A
(
A
1
,

A
2
)

= { AddAxiom(
a
) |
a



A
2

\

A
1

}


{
RemoveAxiom(
a
) |
a



A
1

\

A
2

}

C
N

=
δ
N
(
N
1
,

N
2
)

=

{ AddOntologyAnnotation(
n
) |
n

N
2
\
N
1

}





{ RemoveOntologyAnnotation(
n
) |
n

N
1
\
N
2

}

C
I

=
δ
I
(
I
1
,

I
2
)

= { AddImport(
i
) |
i



I
2

\

I
1

}


{ RemoveImport(
i
) |
i



I
1

\

I
2

}

C
d

=
δ
d
(
d
1
,
d
2
)

= { SetOntologyID(
d
1
,
d
2
) |
d
1


d
2

}

C
f

=
δ
f
(
f
1
,
f
2
)

= { SetOntologyFormat(
f
1
,
f
2
) |
f
1


f
2

}

C
P

=
δ
P
(
P
1
,

P
2
)

=

{

AddPrefix(
p
n
2
,

p
i
2
) |

(
p
n
2
,
p
i
2
)



P
2




(
p
n
1
,

p
i
1
)



P
1
:

(
p
n
1
=
p
n
2



p
i
1
=
p
i
2
) }



{

RemovePrefix(
p
n
1
,

p
i
1
) |(
p
n
1
,
p
i
1
)



P
1




(
p
n
2
,

p
i
2
)



P
2
:

(
p
n
1
=
p
n
2



p
i
1
=
p
i
2
) }



{

ModifyPrefix(
p
n
1
,
p
i
1
,
p
i
2
) | (
p
n
1
,
p
i
1
)



P
1




(
p
n
2
,

p
i
2
)



P
2
:

(
p
n
1
=
p
n
2



p
i
1

p
i
2
)

}



{

RenamePrefix(
p
n
1
,
p
i
1
,
p
n
2
) |

(
p
n
1
,
p
i
1
)∈
P
1



∃(
p
n
2
,
p
i
2
)

P
2
:

((
p
n
2
,
p
i
2
)∉
P
1
)∧
p
n
1

p
n
2

p
i
1
=
p
i
2

}



Change Analysis

C
hanged entities
:

E




E
1



E
2

Unchanged entities:

E
||

=

E
1



E
2

\

E


N
ew entities
:

E
+

=

E


\

E
1

=

E
2

\

E
1

R
emoved entities
:

E


=

E


\

E
2

=

E
1

\

E
2

M
odified entities
:

E
*

=

E




E
1



E
2










Three
-
Way Merge

I
nitial version
:

v
0

=


E
0
,

A
0
,

N
0
,

I
0
,

P
0
,

d
0
,

f
0


V
ersion
of
user

1:

v
1

=


E
1
,

A
1
,
N
1
,

I
1
,

P
1
,

d
1
,

f
1


V
ersion
of
user

2:

v
2

=


E
2
,

A
2
,
N
2
,

I
2
,

P
2
,

d
2
,

f
2


C
1

= δ(
v
0
,

v
1
) =
C
1A



C
1N



C
1I



C
1P



C
1
d



C
1
f

C
2

= δ(
v
0
,

v
2
) =
C
2A


C
2N


C
2I



C
2P



C
2
d



C
2
f


Changes
C
1



C
2

can be divided into
:

Matching changes
C
m

=
C
1

C
2
;

Conflicting changes of user 1:
C

1
;

Conflicting changes of user 2:
C

2
;

Other changes of user 1:
C
||
1

=

(
C
1

\

C
m
)

\

C

1
;

Other changes of user 2:
C
||
2

=

(
C
1

\

C
m
)

\

C

2
.


Conflict Detection

Axioms
:

C

1A

=

{

c



C
1A
|
σ
(
c
)



σ
(
C
2A
\
C
m
)



Ø }
;

C

2A

=

{

c



C
2A
|
σ
(
c
)



σ
(
C
1A
\
C
m
)



Ø }

Prefixes
:

C

1P

=

{

c



C
1P
|
σ
P
(
c
)



σ
P
(
C
2P
\
C
m
)



Ø }
;

C

2P

=

{

c



C
2P
|
σ
P
(
c
)



σ
P
(
C
1P
\
C
m
)



Ø }

Identifier
:

C

1
d

= {
c



C
1
d

\

C
2
d

}
;

C

2
d

= {
c



C
2
d

\

C
1
d

}

Format
:

C

1
f

= {
c



C
1
f

\

C
2
f

}
;

C

2
f

= {
c


C
2
f

\

C
1
f

}


Project
P
roposals



Collaborative ontology development tools



Security of ontological knowledge bases



Information systems based on
Semantic Web technologies

o

Decision support system

o

E
-
library system


Publications



Zaikin, I.

An Ontology Development and Maintenance System. Proceedings

of the 7th
International Forum
on Strategic Technology IFOST2012, September 17
-
21, 2012,
Vol. 1.
National Research Tomsk Polytechnic University, Tomsk.


pp. 515

518



Zaikin, I., Tuzovsky A.

Owl2vcs: Tools for Distributed Ontology Development,
http://webont.org/owled/2013/papers/owled2013_2.pdf