CIDOC CRM in Practice
Upcoming SlideShare
Loading in...5
×
 

CIDOC CRM in Practice

on

  • 3,409 views

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 ...

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.

Statistics

Views

Total Views
3,409
Views on SlideShare
3,398
Embed Views
11

Actions

Likes
2
Downloads
56
Comments
0

1 Embed 11

http://www.slideshare.net 11

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

CIDOC CRM in Practice CIDOC CRM in Practice Presentation Transcript

  • CIDOC CRM in Practice - Experiences, Problems, and Possible Solutions - 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 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 Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • Background Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • CIDOC CRM Mapping • Metadata Schemes: !&,?@; A&589- !"#$%&'&( 7&589- .!#$%&'()*$+(*,-,*, !"#$%&'()*$+(*,-,*, )*+&,-./$& 'B%&1 )*+&,-./$& :#$&121 012"34&1523 ;&<2#5<"-52< 012"34&1523 ;&<2#5<"-52< 415#"1/6"-&15"% 65<- 415#"1/6"-&15"% 65<- )*=&1>&C3&>,15$-52< '&=&1>&C3&>,15$-52< )*=&1>& '&=&1>& 6&-923)(6"<B(",-B1& DDD ;2<21 ;2<21'&( !/<-",-5,"%%/E"<3E>&#"<-5,"%%/E&FB5="%&<- !&#"<-5,"%%/E&FB5="%&<- G2E&FB5="%&<,&> Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • CIDOC CRM Mapping • Sample Metadata Instance: !"#$%&'( !"#$%& !""#$%&'()*+"#,"% '()"#*+,-" '-./ '()"#*&".#/0-*012 0-12/34-563789 3"045* (:#%34 6/078/,98*"/08: ;-56 9"*51;'<982=<> <=>?@A3->3789 >>> ::: Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • CIDOC CRM Mapping • The CIDOC CRM: !""#&0?)I)<2()0' !"+#510?K<()0' EEE !;#$0'?)()0'#:(2(- !;M#O)6K23#7(-. !;J#7.2B- !4#D<()P)(* EEE !+#,-./0123#!'()(* !;"#>0<K.-'( EEE !=#5-1)0? !8#!P-'( EEE !4;#7'I01.2()0'#FGH-<( !+C#>-6)B'#01#510<-?K1- EEE !8M#N2'BK2B- !4@#,A)'B !++#&2'9&2?-#FGH-<( !+J#$0'<-/(K23#FGH-<( !88#,*/- !84#&2(-1)23 !;C#D<(01 EEE EEE !44#5-16)6(-'(#7(-. EEE !8J#&-26K1-.-'(#L')( !8"#$0'(2<(#50)'( !=8#D??1-66 !"#$%&#!'()(* !=+#FGH-<(#7?-'()I)-1 !="#D//-332()0' !=C#,).-#D//-332()0' !8@#>2(- !8+#,).-9:/2' !==#532<-#D//-332()0' !=4#:/2()23#$001?)'2(-6 !8;#532<- EEE EEE !8=#>).-'6)0' !M@#QK.G-1 !8C#51).)()P-#O23K- !M"#,).-#51).)()P- !M+#:(1)'B Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • CIDOC CRM Mapping • Source Metadata Expressed in CRM: >MH$/66#,,-2130 >MH$/66#,,-2130 GH$1.$1E#02141#E$78$ 51E#02141#.= >LL$!86# >?H$'3+<A#02 K<L GHH-?.B!+I=AH-JH. !40& GHJK$1.$+3A63.#E$34$ 543:A.$6-:2$34= GIJ$E3+<A#02.$ GH$1.$1E#02141#E$78$ >?H$'3+<A#02 51.$E3+<A#02#E$10= GC$"-.$286#$ 51E#02141#.= 51.$286#$34= >LI$*-2#:1-, >CC$*-0D*-E#$(7F#+2 GHCK$#A6,38#E GHJ@$"-.$6:3E<+#E M4"6 59-.$#A6,38#E$10= 59-.$6:3E<+#E$78= G?$"-.$032# >KC$Q2:10B 2345#&2*4"62#78)7$2 >HC$G:3E<+2130 GM?$"-.$E1A#0.130 492:)842;<=2>?@ABC,2 51.$E1A#0.130$34= GH?@$:#6:#.#02. DEF)20$$7)62(08(#2<=2 GHK$<.#E$.6#+141+$37F#+2$ 5"-.$:#6:#.#02-2130= A?@A>, 59-.$<.#E$43:= >LM$'1A#0.130 >CN$'#.1B0$3:$G:3+#E<:# GH$1.$1E#02141#E$78$ GNH$"-.$<012 GNJ$"-.$;-,<# GC$"-.$286#$ >?@$&A-B# 51.$<012$34= 51.$286#$34= 51E#02141#.= >MH$/66#,,-2130 >L@$*#-.<:#A#02$O012 >KJ$P<A7#: >LL$!86# L'87(N24821#55)8)6 * +,-. /)0*1' !!"#$#%& !"#$$ !"#$%&'(%$%)*$+,-.. %&$'#&() /0$10.2-0+#$34$2"#$+,-..$563..17,8$912"$+30+:#2#$;-,<#= Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • CIDOC CRM Mapping • Mappings expressed as mapping chains: !"#$% 4"0/7%#$% !$&'()*%+,,-./0123*4,-5,/!6$&'()*% !89:!%!;4 !789&':;<=&% !"#$ !6789&':;<=&% WNNF;<=& !789&':;<=&1&>:?@A:<%1&>:?@A!6789&':;<=&1&>:?@A:<% .(/0 !789&':*&B'>@=:@CA% "XFU?BF:<=&FM@BF:<=&FCKO DCE?AFGCHIF?J>&JBFCKFL&>CFM#*FN. 40OFPQQQR !6789&':*&B'>@=:@CA% WXXFT?A T?I&F789&': !789&':*?:&-1&>:?@A:<%1&>:?@A!6789&':*?:&-1&>:?@A:<% "-,0FU?BF=>CIJ'&IF "-4FJB&IFB=&'@K@'FC89&':F M?BF=>CIJ'&IF8<O !*?:&S>CE%4.!6*?:&S>CE% M?BFJB&IFKC>O !"&>@CIS>CE%D7T#L!6"&>@CIS>CE% W-XF">CIJ':@CA WX3F*&B@GAFC>F">C'&IJ>& !T&:UCI7KT?AJK?':J>&% %%%%%%%%%%&'()*+%"(%,-../(/0 "-F@BF@I&A:@K@&IF8<F W.-F#==&HH?:@CA M@I&A:@K@&BO !"#$%&'(#')*++,#,- !6T&:UCI7KT?AJK?':J>&% V !6"#$% 12&%345%&")(*/%6#7/ 12&%'"%!89:!%4-<<#$= F"#$Y789&':;<=& Z%FWXX "X WNN F"#$YT&:UCI7KT?AJK?':J>& Z%FWXX @A["-,0 "-4 WX3 "- W.- Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • Problems encountered 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 Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • Problem 2: Mapping Ambiguity • Different valid representations for the same attributes: !;;$I834 0"12 %#$012$+834$ 5,2$+834$'<9 !"#$"%"&'(')*&+, !;= >1+4&,1? !##$>1-@>1(4$A7B4*+ !"#$ !"#$"%"&'".+/*&/"#'0+ !*#"./*0 %"#G$4H3?'84( %"./$012$3&'()*4($ 5612$4H3?'84($,-9 5612$3&'()*4($789 !"#$%&'()*+,'- !:"$F334??1+,'- %"G$)24($234*,<,*$'7B4*+$ 5612$)24($<'&9 !"#$"%"&'(')*&+- %&'()*+"'+,-../'/$ %"$,2$,(4-+,<,4($78$ !#C$D42,E-$'&$%&'*4()&4 !;= >1+4&,1? 5,(4-+,<,429 !"#$ %:;$*'-2,2+2$'<$ 5,2$,-*'&3'&1+4($,-9 !##$>1-@>1(4$A7B4*+ 0"12 %"./$012$3&'()*4($ 5612$3&'()*4($789 !"#$"%"&'".+/*&/"#'0+ !;;$I834 !"#$%&'%(')*+,(*-#,." !"#$%&'()*+,'- %&'()*+"'+,-../'/$ %#$012$+834$ 5,2$+834$'<9 ++1"2"&. 0#-33 I04$JKDAJ$JL>$*?122 423&-2)/ F-$,-2+1-*4$'<$+04$*?122$53'22,7?8$6,+0$*'-*&4+4$M1?)49 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 Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • Possible solutions Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • A Simple Approach to (partially) solve Problem II + III !"#$%&'( )$'* +",,-.%/!0"-. 3.4#05#0'(&-010('#*6# 70'(&-010(58 !"#$%&'&#( !""#$%& $%'(#)*+(,- !."#)*+(,-#/'(&-010(2 )*+(,-5 3G#>%5#&:-( )#*+(&,%&-$ !""#$%& $%'(#)*+(,- !A"#E-20&F !""#$%& $%'(#)*+(,- !9"#32:';,-0:& 39<=#>%5#?2:';,(' 39"A#(B?C:6('# ./%#(&/0 7@%5#(B?C:6('#0&8 7@%5#?2:';,('#*68 !D4#$%-(20%C E(B%&-0, 3.G#>%5#'0B(&50:& E-%-(5 705#'0B(&50:&#:18 !""#$%& $%'(#)*+(,- !D.#H0B(&50:& 3L9#>%5#;&0- 3"#>%5#-6?(# )&1#$*&-$*2 705#;&0-#:18 705#-6?(#:18 3)&/1#%#(425#&67%289 3L<#>%5#M%C;( !D=#$(%5;2(B(&-#I&0- !A<#J;B*(2 !DD#K6?( 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”) Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • (1) Lifting & Normalisation • Lift a relational model to the CRM via an intermediate semantic model "'4C"0"?A /*$-&/'(")*+, /*$-&/'0*/1 /*$-&/'$*,-& !LMM0A.% A.()0CDE)2*& !L8M0CDE)2*0'()%*$+$),& G8;0$/0$()%*$+$)(0 5'&( DN0!$()%*$+$)/& 566789:";<4=67>69 1)B.%*$20A#()@ !"#$%&'(")*+, !"#$%&'0*/1 !"#$%&'$*,-& !"#$%& !'()%*$+$),& -./01)23'4 566789:";<4=67>69 0%%+&12%")($3") 0%%+&12%")4$#2")$,) $,)-+'-"+%/ "(%&%/)&(,%$(*" !"#$%&'()*'++",-'(.,) !"#$ ?)@.*$#%.@0A#()@ %')"(%&%/ 1)23'4 566789:";<4=67>69 CDE)2*4)/2,$F*$#% ?#B.%0I#@(0.J,)J/ G),$#(H,#B ?#B.% >,#.(G),$#( ?#B.% ... KKK 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 Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • Mapping Start p := next property of P “Algorithm” E := set of source domain entities mapping chain c := ∅ eend = findTargetRange(p) all entities of End yes E iterated? add eend to c no e := next entity of E x := eend estart := findTarget Domain(e) no isA(estart, x)? yes e := instanceOf(estart) invert c no P : = Set of cl = findChainLink properties p where yes (estart, x) estart := x getDomain(p) = e add cl to c all properties of P iterated? x := first element of cl Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • Mapping Example @"8A&B$96:&;$<1)*C1$1D9? %" #" EFF$9"G 9":&$CHI&'B E.F$):&GBJKJ&8 $" =.2$J#$J:&GBJKJ&:$HL$ <J:&GBJKJ&#? !"#$%&'()* !"#$ +,,-./0123*4,-5,/ %678'&$96:&;$<=>%? !" Comments: ad 1.: define the source path (table as source domain, field name Bernhard Haslhofer & Philipp Nussbaumer, November 2009 as relationship, field value as instance)
  • 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 Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • Discussion 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 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? Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  • Discussion • Why not map directly in a P2P manner? equivalent equivalent !&,?@; A&589- !"#$%&'&( 7&589- .!#$%&'()*$+(*,-,*, !"#$%&'()*$+(*,-,*, )*+&,-./$& 'B%&1 )*+&,-./$& :#$&121 012"34&1523 ;&<2#5<"-52< 012"34&1523 ;&<2#5<"-52< 415#"1/6"-&15"% 65<- 415#"1/6"-&15"% 65<- )*=&1>&C3&>,15$-52< '&=&1>&C3&>,15$-52< )*=&1>& '&=&1>& 6&-923)(6"<B(",-B1& DDD ;2<21 ;2<21'&( !/<-",-5,"%%/E"<3E>&#"<-5,"%%/E&FB5="%&<- !&#"<-5,"%%/E&FB5="%&<- G2E&FB5="%&<,&> Bernhard Haslhofer & Philipp Nussbaumer, November 2009