cidoc crm in practice

25
Bernhard Haslhofer & Philipp Nussbaumer, November 2009 CIDOC CRM in Practice - Experiences, Problems, and Possible Solutions -

Upload: bernhard-haslhofer

Post on 11-May-2015

2.624 views

Category:

Technology


3 download

DESCRIPTION

Describes the experiences we made with the CRM. The presentation points out three main problems technicians (no technical specification, mapping ambiguities, complexity of mapping chains) will face when they decide to implement the CRM in a real-world application. It also proposes to introduce a kind of mapping guidelines that support potential CRM adopters in producing more homogenous mappings.

TRANSCRIPT

Page 1: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

CIDOC CRM in Practice- Experiences, Problems, and Possible Solutions -

Page 2: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Background

• BRICKS Project (2003 - 2007)

• Goal

• build an infrastructure for integrating contents and metadata from heterogeneous sources

• build value added services on top

Page 3: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Background

• Build an application that provides access to archaeological findings from two distinct institutions

• Provided advanced search (e.g. faceted search)

• Use the CIDOC-CRM to deal with metadata heterogeneities

Page 4: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Background

Page 5: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

CIDOC CRM Mapping• Metadata Schemes:

!"#$%&'&(

!"#$%

&'()*$+(*,-,*,

)*+&,-./$&

012"34&1523

415#"1/6"-&15"%

7&589-

:#$&121

;&<2#5<"-52<

65<-

)*=&1>& '&=&1>&

;2<21 ;2<21'&(

!&,?@;

.!#$%&'()*$+(*,-

,*, )*+&,-./$&

012"34&1523

415#"1/6"-&15"%

A&589-

'B%&1

;&<2#5<"-52<

65<-

)*=&1>&C3&>,15$-52< '&=&1>&C3&>,15$-52<

6&-923)(6"<B(",-B1& DDD

!/<-",-5,"%%/E"<3E>&#"<-5,"%%/E&FB5="%&<- !&#"<-5,"%%/E&FB5="%&<-

G2E&FB5="%&<,&>

Page 6: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

CIDOC CRM Mapping• Sample Metadata Instance:

!"#$%&'(

!"#$%&

'()"#*+,-"

'()"#*&".#/0-*012

3"045*

!""#$%&'()*+"#,"%

'-./

0-12/34-563789

(:#%34

;-566/078/,98*"/08:

<=>?@A3->37899"*51;'<982=<>

:::>>>

Page 7: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

CIDOC CRM Mapping• The CIDOC CRM:

!"#$%&#!'()(*

!+#,-./0123#!'()(*

!44#5-16)6(-'(#7(-.

!8+#,).-9:/2'

!8;#532<-

!8=#>).-'6)0'

!;#$0'?)()0'#:(2(-

!=#5-1)0?

!4@#,A)'B

!;C#D<(01

!="#D//-332()0'

!8"#$0'(2<(#50)'(

EEE

EEEEEE

!=8#D??1-66

!=+#FGH-<(#7?-'()I)-1

!++#&2'9&2?-#FGH-<( !+J#$0'<-/(K23#FGH-<(!88#,*/- !84#&2(-1)23

!8J#&-26K1-.-'(#L')(

!8M#N2'BK2B-

EEE

!4;#7'I01.2()0'#FGH-<(

!;"#>0<K.-'(

EEE

EEE

!;M#O)6K23#7(-. !;J#7.2B-

!8#!P-'(

!4#D<()P)(*

!""#&0?)I)<2()0'

EEE

EEE

!"+#510?K<()0'

!==#532<-#D//-332()0'

!=C#,).-#D//-332()0' !8@#>2(-

EEE EEE

!=4#:/2()23#$001?)'2(-6

!+C#>-6)B'#01#510<-?K1-

!8C#51).)()P-#O23K-

!M@#QK.G-1

!M"#,).-#51).)()P-

!M+#:(1)'B

Page 8: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

CIDOC CRM Mapping• Source Metadata Expressed in CRM:

!!"#$#%&

!"#$$

%&$'#&()

!"#$%&'(%$%)*$+,-..

/0$10.2-0+#$34$2"#$+,-..$563..17,8$912"$+30+:#2#$;-,<#=

>?@$&A-B#

>CC$*-0D*-E#$(7F#+2

GC$"-.$286#$51.$286#$34=

>?H$'3+<A#02

GIJ$E3+<A#02.$51.$E3+<A#02#E$10=

GH$1.$1E#02141#E$78$51E#02141#.=

>?H$'3+<A#02GH$1.$1E#02141#E$78$

51E#02141#.=

GHJK$1.$+3A63.#E$34$543:A.$6-:2$34=

G?$"-.$032#

>LM$'1A#0.130

GM?$"-.$E1A#0.13051.$E1A#0.130$34=

GNH$"-.$<01251.$<012$34=

>L@$*#-.<:#A#02$O012

*

GNJ$"-.$;-,<# GC$"-.$286#$51.$286#$34=

>KJ$P<A7#:

+,-.

>LL$!86#

/)0*1'

>KC$Q2:10B2345#&2*4"62#78)7$2492:)842;<=2>?@ABC,2DEF)20$$7)62(08(#2<=2

A?@A>,

>LL$!86#

!40&

>MH$/66#,,-2130

GHH-?.B!+I=AH-JH.

>MH$/66#,,-2130

K<L

>HC$G:3E<+2130

>LI$*-2#:1-,

M4"6GHJ@$"-.$6:3E<+#E59-.$6:3E<+#E$78=

GHCK$#A6,38#E59-.$#A6,38#E$10=

>CN$'#.1B0$3:$G:3+#E<:#

GHK$<.#E$.6#+141+$37F#+2$59-.$<.#E$43:=

>MH$/66#,,-2130

L'87(N24821#55)8)6

GH$1.$1E#02141#E$78$51E#02141#.=

GH?@$:#6:#.#02.5"-.$:#6:#.#02-2130=

Page 9: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

CIDOC CRM Mapping

!"#$%

!$&'()*%+,,-./0123*4,-5,/!6$&'()*%

!789&':;<=&% !"#$ !6789&':;<=&%

!789&':;<=&1&>:?@A:<%1&>:?@A!6789&':;<=&1&>:?@A:<%

!789&':*&B'>@=:@CA%

DCE?AFGCHIF?J>&JBFCKFL&>CFM#*FN. 40OFPQQQR

!6789&':*&B'>@=:@CA%

!789&':*?:&-1&>:?@A:<%1&>:?@A!6789&':*?:&-1&>:?@A:<%

!*?:&S>CE%4.!6*?:&S>CE%

!"&>@CIS>CE%D7T#L!6"&>@CIS>CE%

!T&:UCI7KT?AJK?':J>&%

%%%%%%%%%%&'()*+%"(%,-../(/0

!6T&:UCI7KT?AJK?':J>&%

V

!6"#$% 12&%345%&")(*/%6#7/

WNNF;<=&

WX3F*&B@GAFC>F">C'&IJ>& W-XF">CIJ':@CA

W.-F#==&HH?:@CA

!"#$%&'(#')*++,#,-

"-F@BF@I&A:@K@&IF8<FM@I&A:@K@&BO

4"0/7%#$%!89:!%!;4

F"#$Y789&':;<=& Z%FWXX "X WNN

F"#$YT&:UCI7KT?AJK?':J>& Z%FWXX @A["-,0 "-4 WX3 "- W.-

12&%'"%!89:!%4-<<#$=

"-,0FU?BF=>CIJ'&IFM\?BF=>CIJ'&IF8<O

WXXFT?A T?I&F789&':

"-4FJB&IFB=&'@K@'FC89&':FM\?BFJB&IFKC>O

"XFU?BF:<=&FM@BF:<=&FCKO

.(/0

• Mappings expressed as mapping chains:

Page 10: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Problems encountered

Page 11: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Problem 1: Lifting and Normalisation

• How to technically represent metadata in terms of the CRM?

• RDFS / OWL model exists

• lack essential features (e.g. properties for literals)

• require application-specific extensions

Page 12: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Problem 2: Mapping Ambiguity• Different valid representations for the same

attributes:

!"#$%&'()*+,'-

%"./$012$3&'()*4($5612$3&'()*4($789

%:;$*'-2,2+2$'<$5,2$,-*'&3'&1+4($,-9

!"#$%&'()*+,'-

%"./$012$3&'()*4($5612$3&'()*4($789

!"#$"%"&'(')*&+,

!;= >1+4&,1?!"#$!##$>1-@>1(4$A7B4*+

!#C$D42,E-$'&$%&'*4()&4

!:"$F334??1+,'-%&'()*+"'+,-../'/$

%"G$)24($234*,<,*$'7B4*+$5612$)24($<'&9

%"$,2$,(4-+,<,4($78$5,(4-+,<,429

%"#G$4H3?'84(5612$4H3?'84($,-9

!;;$I8340"12

%#$012$+834$5,2$+834$'<9

!"#$"%"&'(')*&+-

%#$012$+834$5,2$+834$'<9

!;= >1+4&,1?!"#$

!##$>1-@>1(4$A7B4*+0"12

!"#$"%"&'".+/*&/"#'0+!"#$%&'%(')*+,(*-#,."

!"#$"%"&'".+/*&/"#'0+!*#"./*0

!;;$I834%&'()*+"'+,-../'/$

++1"2"&.0#-33423&-2)/

I04$JKDAJ$JL>$*?122F-$,-2+1-*4$'<$+04$*?122$53'22,7?8$6,+0$*'-*&4+4$M1?)49

Page 13: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Problem 3: Processing and Visualisation

• The human / machine must “remember” the meaning of mapping chains in order to retrieve information

• E22-P2-E55 = the object type

• E22-invP108-P16-E29-P1-E41 = manufacture method

Page 14: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Possible solutions

Page 15: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

A Simple Approach to (partially) solve Problem II + III

!""#$%& $%'(#)*+(,- !."#)*+(,-#/'(&-010(2

3.4#05#0'(&-010('#*6#70'(&-010(58

!""#$%& $%'(#)*+(,- !9"#32:';,-0:&

39<=#>%5#?2:';,('7@%5#?2:';,('#*68

39"A#(B?C:6('#7@%5#(B?C:6('#0&8

!D4#$%-(20%C

!""#$%& $%'(#)*+(,- !A"#E-20&F3G#>%5#&:-(

!"#$%&'&#(

)#*+(&,%&-$

./%#(&/0

!""#$%& $%'(#)*+(,- !D.#H0B(&50:&

3.G#>%5#'0B(&50:&705#'0B(&50:&#:18

!D=#$(%5;2(B(&-#I&0- !A<#J;B*(2 !DD#K6?(

3L9#>%5#;&0-705#;&0-#:18 3L<#>%5#M%C;(

)&1#$*&-$*23)&/1#%#(425#&67%289

!"#$%&'(

)*+(,-5

E(B%&-0,E-%-(5

)$'* +",,-.%/!0"-.

3"#>%5#-6?(#705#-6?(#:18

Page 16: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Generic Approach to solve Problems I+II+III

• Methodology to create consistent mappings to the CRM

• Step 1: Lifting the data source-specific data model (e.g., relational model, XML) to the level of CIDOC CRM

• Step 2: Map the lifted model to the CRM using specific mapping guidelines (mapping “algorithm”)

Page 17: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

(1) Lifting & Normalisation• Lift a relational model to the CRM via an

intermediate semantic model

!"#$%&'(")*+,

!"#$%&!"#$%&'$*,-&!'()%*$+$),&

-./01)23'4 566789:";<4=67>69

!"#$%&'()*'++",-'(.,)%')"(%&%/

0%%+&12%")($3")$,)-+'-"+%/

0%%+&12%")4$#2")$,)"(%&%/)&(,%$(*"

?)@.*$#

%.@0A

#()@

1)B.%*$20A

#()@

"'4C"0"?

A

1)23'4CDE)2*4)/2,$F*$#%G),$#(H,#B>,#.(G),$#(...

566789:";<4=67>69?#B.%0I#@(0.J,)J/?#B.%?#B.%KKK

/*$-&/'(")*+,

!LMM0A.% A.()0CDE)2*&5'&( G8;0$/0$()%*$+$)(0

DN0!$()%*$+$)/&

/*$-&/'$*,-&!L8M0CDE)2*0'()%*$+$),&566789:";<4=67>69

/*$-&/'0*/1

!"#$%&'0*/1

!"#$

Page 18: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

(2) Reducing Mapping Ambiguity

• Mapping Methodology (Principles):

• start from the lifted semantic model

• find most specific CRM entities for source domain and target range

• determine the shortest possible path between these entities

Page 19: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Mapping “Algorithm”

Start

estart := findTargetDomain(e)

e := instanceOf(estart)

e := next entity of E

p := next property of P

all properties of P iterated?

mapping chain c := ∅

eend = findTargetRange(p)

add eend to c

x := eend

cl = findChainLink(estart, x)

isA(estart, x)?

no

E := set of source domain entities

all entities of E iterated?

no

End yes

P : = Set of properties p where getDomain(p) = e

yes

no

add cl to c

x := first element of cl

invert c

estart := x

yes

Page 20: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Mapping Example

!"#$!"#$%&'()*

+,,-./0123*4,-5,/

%678'&$96:&;$<=>%?

@"8A&B$96:&;$<1)*C1$1D9?

EFF$9"G 9":&$CHI&'B

!"

#"

Comments:

ad 1.: define the source path (table as source domain, field name as relationship, field value as instance)ad 2.: find most concrete entity as target domain to map the source domain (E22 Man-Made Object)ad 3.: find the most concrete target range to map the source range to (E42 Identifier)ad 4.: find the most concrete property that has the target range as range, or the most inverse property that has the target range as domain (most concrete property with target range E42 is P47). Domain of P47 is E19 Physical Object => E22 is sub-class of E19 => take the target domain as domain of property P47

$"E.F$):&GBJKJ&8=.2$J#$J:&GBJKJ&:$HL$

<J:&GBJKJ&#?

%"

Page 21: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Limitations• Problem:

• mapping might fail because there is no “obvious” entity to map to

• unclear how to close mapping chain

• Solution:

• application context specific functions with hardwired chains for given entities

Page 22: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Discussion

Page 23: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Discussion

• Problem 1:

• could be resolved by providing precise technical specifications

• Problem 2:

• users will always map differently against a global ontology; guidelines can only reduce but not completely resolve ambiguities

Page 24: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Discussion

• Problem 3:

• “remembering” mapping chains = introducing an application-specific model

• why not use this model instead of the CRM?

Page 25: CIDOC CRM in Practice

Bernhard Haslhofer & Philipp Nussbaumer, November 2009

Discussion• Why not map directly in a P2P manner?

!"#$%&'&(

!"#$%&'()*$+

(*,-,*,

)*+&,-./$&

012"34&1523

415#"1/6"-&15"%

7&589-

:#$&121

;&<2#5<"-52<

65<-

)*=&1>& '&=&1>&

;2<21 ;2<21'&(

!&,?@;

.!#$%&'()*$+

(*,-,*, )*+&,-./$&

012"34&1523

415#"1/6"-&15"%

A&589-

'B%&1

;&<2#5<"-52<

65<-

)*=&1>&C3&>,15$-52< '&=&1>&C3&>,15$-52<

6&-923)(6"<B(",-B1& DDD

!/<-",-5,"%%/E"<3E>&#"<-5,"%%/E&FB5="%&<- !&#"<-5,"%%/E&FB5="%&<-

G2E&FB5="%&<,&>

equivalentequivalent