Advertisement
Advertisement

More Related Content

Advertisement

More from Bernhard Haslhofer(20)

Advertisement

CIDOC CRM in Practice

  1. CIDOC CRM in Practice - Experiences, Problems, and Possible Solutions - Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  2. 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
  3. 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
  4. Background Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. Problems encountered Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  11. 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
  12. 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
  13. 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
  14. Possible solutions Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  15. 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
  16. 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
  17. (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
  18. (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
  19. 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
  20. 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)
  21. 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
  22. Discussion Bernhard Haslhofer & Philipp Nussbaumer, November 2009
  23. 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
  24. 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
  25. 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
Advertisement