Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Hybrid Declarative/Procedural Metadata Mapping Language Based on Python Greg Janée & James Frew University of California at Santa Barbara.

Similar presentations


Presentation on theme: "A Hybrid Declarative/Procedural Metadata Mapping Language Based on Python Greg Janée & James Frew University of California at Santa Barbara."— Presentation transcript:

1 A Hybrid Declarative/Procedural Metadata Mapping Language Based on Python Greg Janée & James Frew University of California at Santa Barbara

2 2Janée/Frew ECDL 2005 2005-09-19 ADL o Federated digital library system  general framework for distributing queries  specific support for geospatial queries, data query mediator Z39.50 gateway RDBMS Z39.50 server ADL metadata store XML metadata

3 3Janée/Frew ECDL 2005 2005-09-19 ADL metadata views o Bucket  mappings of native metadata to high-level search indices  comparable to Dublin Core  but strongly typed o Browse  image thumbnails, abstracts, etc. o Access  describes how item can be accessed  4 different types of access points  2 hierarchy mechanisms: decomposition, alternatives

4 4Janée/Frew ECDL 2005 2005-09-19 Problem statement o Metadata mapping  largely declarative in nature –“A  B”  need recourse to arbitrary computation –e.g., conversion of geographic coordinates –deal with pervasive quality problems  but problems are often consistent for given collection or provider o Goal  simple, concise way of specifying mappings  that is executable

5 5Janée/Frew ECDL 2005 2005-09-19 Related work o Crosswalks  simplistic (“A is equivalent to B”)  no formal way to describe more complex mappings  not executable o Many ad hoc solutions  Perl, XSLT o XSLT  difficult to program  low-level, verbose  computationally hamstrung

6 6Janée/Frew ECDL 2005 2005-09-19 Language for metadata mapping o Mapping is an executable Python script  from ADL_mapper import * input()... statements... output() o ~25 language statements  procedure calls  but are declarative in nature o Query language  form tuples from Xpath expressions o Inheritance mechanism

7 7Janée/Frew ECDL 2005 2005-09-19 Two examples map("adl:titles", "/itemRecord/general/title") def convertPresentKeyword (v): if v[1].lower() == "present" return (v[0], "9999") else: return v map("adl:dates", ["/itemRecord/temporalCoverages/timeInfo/timeAD" "begin@date", "end@date"], prefilters=convertPresentKeyword)  

8 8Janée/Frew ECDL 2005 2005-09-19 Partial equivalent in XSLT <xsl:when test="translate(end/@date, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')='present'"> 9999

9 9Janée/Frew ECDL 2005 2005-09-19 Maya case study o Maya: thematic collection of GIS and other materials with FGDC metadata o Mapping problems:  poor titles, e.g., “mex250kr”  missing originator  misused FGDC field o Solution  generic FGDC mapping –23 statements  Maya mapping derived from FGDC –3 statements

10 10Janée/Frew ECDL 2005 2005-09-19 Actual Maya mapping from ADL_mapper import * input() import FGDC_mapping def constructNewTitle (v): form = get("/metadata/idinfo/citation/citeinfo/geoform")... return... appendPostfilter("adl:titles", constructNewTitle) unmap("adl:formats", id=2) mapConstant("adl:originators", "Anabel Ford, ISBER/MesoAmerican Research Center") output()   

11 11Janée/Frew ECDL 2005 2005-09-19 contextual intrinsic Future work o Mapping access-related metadata is problematic  poorly supported by metadata standards  only partially intrinsic to the item o Need to add library context as an input http://host.com/path/P32499.jpg http://host.com/path/P32499.thumb.jpg http://host.com/path/P32499.sid

12 12Janée/Frew ECDL 2005 2005-09-19 Summary o Problem  create executable specifications  largely, but not entirely declarative  need ability to do arbitrary computation o Solution  work within a high-level, procedural language  procedure calls act like declarations  resulting hybrid declarative/procedural language o http://www.alexandria.ucsb.edu/mm/


Download ppt "A Hybrid Declarative/Procedural Metadata Mapping Language Based on Python Greg Janée & James Frew University of California at Santa Barbara."

Similar presentations


Ads by Google