Representing and Transforming Model-Based Information Shawn Bowers and Lois Delcambre Department of Computer Science and Engineering Oregon Graduate Institute Copyright © 2000
Model-Based Information and Tools Painting Painter by painter Influenced by mentioned biography critiqued XML Viewer SQL TM Browser XML DB SemWeb 2000 - ECDL Workshop on the Semantic Web
Our Goals Represent information generically, for various models Convert information from one representation scheme to another SemWeb 2000 - ECDL Workshop on the Semantic Web
Transforming Information XML DB XML Viewer SQL TM Browser Painting Painter by painter Influenced by mentioned biography critiqued Generic Rep. (XML model) convert (Topic Map model) convert Generic Rep. (Relational model) SemWeb 2000 - ECDL Workshop on the Semantic Web
Our Approach Metamodel Generic Representation Scheme Mapping Formalism to represent multiple data models Generic Representation Scheme to store model, schema, and instances for model-based information Mapping Formalism to transform between representation schemes SemWeb 2000 - ECDL Workshop on the Semantic Web
The Metamodel Provides a level of abstraction above models Describes the structural features of models Basic Set of Abstractions Metamodel Model Constructs and Relationships Topic Map XML Topic Map Defintions DTD Schema-Level Data Topic Map Instances XML Document Instance-Level Data SemWeb 2000 - ECDL Workshop on the Semantic Web
XML Model, Schema, and Instance Model constructs and relationships defined using the metamodel Elements, Element Types, Attributes, Attribute Types Elements contain Attributes Elements can be nested XML Model <!ELEMENT schedule (flight*)> <!ELEMENT flight (from, to, price)> <!ATTLIST flight name CDATA #REQUIRED> XML DTD (Schema) <schedule> <flight name=“Air Canada Flight 1575”> <from> PDX </from> <to> YVR </to> <price> $213.84 </price> </flight> ... </schedule> XML Document (Instances) SemWeb 2000 - ECDL Workshop on the Semantic Web
Topic Map Example Influenced by by painter Painting Painter by painter critiqued mentioned mentioned biography by painter influenced by critiqued “Captive” “Paul Klee” biography biography “Francisco de Goya” http://... http://... http://... mentioned mentioned “1914” http://... by painter http://... SemWeb 2000 - ECDL Workshop on the Semantic Web
Topic Map Model in UML TopicType TopicInstance ttypename : String <<conformance>> topic_instOf TopicType TopicInstance 1 1 * 1 ttypename : String title : String topicInsID : Number 1 1 topic Type1 topic Type2 1 1 topicType topic Ins1 topic Ins2 * * topicIns TopicRelType <<conformance>> rel_instOf * * 1 * relType : String TopicRelInst <<conformance>> anchor_instOf AnchorType AnchorInst * 1 * * anchorRole : String * address 1 <<Mark>> Address markID : String SemWeb 2000 - ECDL Workshop on the Semantic Web
Generic Representation We use RDF and RDF Schema to represent model, schema, and instance uniformly RDF Graph RDF Triples creator name (creator, ‘http://…/~john’, person1) (name, ‘person1’, ‘John Smith’) http://…/~john person1 ‘John Smith’ RDF Schema Graph RDF Schema Triples Property (type, ‘creator’, Property) (domain, ‘creator’, WebPage) (range, ‘creator’, Person) (type, ‘Person’, Class) (type, ‘WebPage’, Class) WebPage type Class domain type type creator Person range SemWeb 2000 - ECDL Workshop on the Semantic Web
<<conformance>> Representing Models (instanceOf, “TopicType”, Construct) (instanceOf, “TopicInstance”, Construct) (instanceOf, “topic_instOf”, Conformance) (domain, “topic_instOf”, TopicInstance) (range, “topic_instOf”, TopicType) (domainMult, “topic_instOf”, “*”) (rangeMult, “topic_instOf”, “1”) (instanceOf, “ttypename”, Connector) (domain, “ttypename”, TopicType) (range, “ttypename”, String) (domainMult, “ttypename”, “*”) (rangeMult, “ttypename”, “1”) TopicType ttypename : String 1 <<conformance>> topic_instOf * TopicInstance SemWeb 2000 - ECDL Workshop on the Semantic Web
Representing Schema Topic Types (schema): (instanceOf, “painting_tt”, TopicType) (ttypename, “painting_tt”, “painting”) (instanceOf, “painter_tt”, TopicType) (ttypename, “painter_tt”, “painter”) (instanceOf, “byPainter_rt”, TopicRelType) (relType, “byPainter_rt”, “by painter”) (topicType1, “byPainter_rt”, painting_tt) (topicType2, “byPainter_rt”, painter_tt) (instanceOf, “biography_at”, AnchorType) (anchorRole, “biography_at”, “biography”) (topicType, “biography_at”, painter_tt) Topic Types (schema): painting, painter Topic Rel Types (schema): by painter Anchor Types (schema): biography by painter painting painter biography SemWeb 2000 - ECDL Workshop on the Semantic Web
Representing Instances (instanceOf, “painter1”, TopicInstance) (title, “painter1”, “Paul Klee”) (topicInsID, “painter1”, “5”) (topic_instOf, “painter1”, painter_tt) (instanceOf, “painting1”, TopicInstance) (title, “painting1”, “Captive”) (topicInsID, “painting1”, “19”) (topic_instOf, “painting1”, painting_tt) (instanceOf, “byPainter1”, TopicRelInst) (rel_instOf, “byPainter1”, byPainter_rt) (topicIns1, “byPainter1”, painting1) (topicIns2, “byPainter1”, painter1) (instanceOf, “biography1”, AnchorInst) (anchor_instOf, “biography1”, biography_at) (address, “biography1”, a1) (instanceOf, “a1”, Address) (markID, “a1”, “URLMarkManager@954308545”) Topic (instances): Paul Klee, Captive Topic Relationship (instance): a by painter relationship Anchor (instance): a biography anchor Address (instance): mark to URL SemWeb 2000 - ECDL Workshop on the Semantic Web
Basic Types of Mappings Mapped Model1 Model2 Converted Inter-Model Schema1 Schema1 Converted Instances1 Instances1 Model1 Model1 Inter-Schema Mapped Schema1 Schema2 Converted Instances1 Instances1 Model1 Mapped Model2 Model-to-Schema Schema1 Converted Schema2 Instances1 Converted Instances2 SemWeb 2000 - ECDL Workshop on the Semantic Web
Mapping Rules Simple production rules over triples Mapped TopicInstance XMLElem S(‘source’, (‘instanceOf’, X, ‘TopicInstance’)) S(‘target’, (‘instanceOf’, X, ‘XMLElem’)) SemWeb 2000 - ECDL Workshop on the Semantic Web
Mapping Rules (cont.) TopicInstance XMLElem Mapped topic_instOf elem_instOf TopicType XMLElemType S(‘source’, (‘topic_instOf’, X, Y)) S(‘target’, (‘instanceOf’, X, ‘XMLElem’)) S(‘target’, (‘instanceOf’, Y, ‘XMLElemType’)) S(‘target’, (‘elem_instOf’, X, Y)) SemWeb 2000 - ECDL Workshop on the Semantic Web
Conclusion Metamodel A Generic Representation Scheme Mapping Formalism to describe multiple (superimposed) data models A Generic Representation Scheme to represent models, schema, and instances uniformly along with a visual representation Mapping Formalism to convert information from one scheme to another SemWeb 2000 - ECDL Workshop on the Semantic Web
Context: Superimposed Information Research Layer Base Information Source1 mark Model Schema Data Instance Data NSF Digital Libraries 2 Program “Tracking Footprints through a Medical Information Space” NSF Digital Government Program “Harvesting Information to Sustain our Forests” SemWeb 2000 - ECDL Workshop on the Semantic Web
Applications SLIM Pad XML Extractor Scratchpad application with Bundle-Scrap model (uses superimposed information) XML Extractor “Extracts” XML information and transforms it into a Topic Map for searching/browsing in out mapped XML Extractor stored DBMS XML Files Generic Rep. (XML model) Generic Rep. (TM model) Topic Map Browser SemWeb 2000 - ECDL Workshop on the Semantic Web
SemWeb 2000 - ECDL Workshop on the Semantic Web
The Metamodel Definition connects 2 constructs Basic Metamodel Elements Structural Connector Construct Special Elements Mark Lexical Conformance Generalization Construct: A basic structural unit Mark: A connection-point to the base-layer Lexical: A primitive-value type Connector: A relationship between 2 constructs Conformance: A schema-instance relationship Generalization: An inheritance between constructs SemWeb 2000 - ECDL Workshop on the Semantic Web
The Metamodel in RDF Schema (type, “Construct”, Class) (type, “Mark”, Class) (subClassOf, “Mark”, Construct) (type, “Lexical”, Class) (subClassOf, “Lexical”, Construct) (type, “Connector”, Property) (domain, “Connector”, Construct) (range, “Connector”, Construct) (type, “Conformance”, Property) (subPropertyOf, “Conformance”, Connector) (type, “Generalization”, Property) (subPropertyOf, “Generalization”, Connector) Construct Definitions Connector Definitions SemWeb 2000 - ECDL Workshop on the Semantic Web
The Metamodel in RDF Schema (cont.) (type, “domainMult”, ConstraintProperty) (domain, “domainMult”, Connector) (range, “domainMult”, String) (type, “rangeMult”, ConstraintProperty) (domain, “rangeMult”, Connector) (range, “rangeMult”, String) (type, “instanceOf”, Property) (instanceOf, “String”, Lexical) (instanceOf, “Number”, Lexical) Constraint Definitions Creation Property Some Default Primitive Types SemWeb 2000 - ECDL Workshop on the Semantic Web
Superimposed Information “Digital Duct Tape” A layer of data placed over (and separate from) existing information sources Marks connect the superimposed and base layers Examples XML Topic Maps RDF Model Superimposed Layer Schema Data Instance Data mark mark mark Base Layer Information Source1 Information Source1 SemWeb 2000 - ECDL Workshop on the Semantic Web