Semantic Integration Patterns

3,836 views
3,648 views

Published on

How software developers need to manage metadata and data dictionaries to make software integration faster and more cost effective. This presentation is a general overview of the concepts around data semantics for college-level students. This presentation was originally created for a seminar at Carleton College.

Published in: Technology
7 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total views
3,836
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
75
Comments
7
Likes
6
Embeds 0
No embeds

No notes for slide

Semantic Integration Patterns

  1. 1. Patterns of Semantic Integration<br />Dan McCreary<br />President<br />Dan McCreary & Associates<br />dan@danmccreary.com<br />(952) 931-9198<br />M<br />D<br />Metadata Solutions<br />
  2. 2. Licensed Under Creative Commons 3.0<br />2<br />Creative Commons 3.0<br />Attribution. You must attribute the work in the manner specified by the author or licensor. <br />Noncommercial. You may not use this work for commercial purposes. <br />Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one.<br />BY:<br />$<br />
  3. 3. Patterns of Semantic Integration<br />Our ever increasing understanding of solid-state physics has allowed Moore’s Law to proceed unabated for the last 40 years.  Exciting developments in quantum physics, nanotechnology and molecular self-assembly will continue this trend for the foreseeable future.  But why is it that an instructor can’t quickly import a database of 10,000 subject-appropriate lesson plans and quiz items into their learning-management system and dynamically adjust classroom content and assessments to individual student learning styles and interests?  The key to this and other computer-to-computer interoperability challenges lie in the difficulty computer systems have in finding and precisely exchanging data.  Enter the Semantic Web.  The designers of the current world-wide-web realized that the gateway to this does not require faster computers and networks but instead lies in the careful publishing and exchange of data semantics (or meaning) and the precise publishing data-that-describes-data (metadata) in a machine-readable structure.  This presentation will review patterns that researches around the world are using to make the job of computer integration easier allowing even ultimate frisbee™ coaches access to vast amounts of structured information.<br />3<br />
  4. 4. Background for Dan McCreary<br />Carleton Class of ’82<br />Physics Major<br />First year of “Computer Science Concentrations” ever granted to a Carleton graduate<br />Worked in computer center and Carleton Library with Les Lacroix doing VMS/RMS programming to create first on-line card catalog for science library<br />Helped blow up lab equipment for Bruce Thomas<br />Semantic Solutions Consultant in Minneapolis<br />4<br />
  5. 5. 5<br />
  6. 6. 6<br />Physics 123<br />… intended to give students some perspective on the kinds of work done by people with a physics background…discuss their work and work-related experiences<br />Physics taught me how to create and use precise models of the world and to discover underlying patterns<br />Computer to computer communication also requires precise models the discovery of underlying patterns<br />
  7. 7. 7<br />Agenda<br />The steps required for precise exchange of information between computer systems<br />Define “semantics” and key concepts in the semantic web<br /><ul><li>HTML, XML, RDF</li></ul>Discuss limitations of current HTML web and XML<br />Show how Semantic Web technologies attempts to solve many of these problems<br />Semantic patterns<br />Predictions<br />References<br />
  8. 8. 8<br />Bruce’s Integration Challenge<br />The PDP-8<br />Gamma<br />Ray<br />Spectrometer<br />Uranium samples from Columbia mines<br />Ohio Scientific<br />6502<br />Carleton<br />VAX<br />1024 ChannelAccumulator<br />FFT<br />(Fortran)<br />Tektronics<br />4014<br />Terminal<br />8=bitteletype port<br />RS-232<br />port<br />
  9. 9. 9<br />1970 Sci-Fi Classic: “The Forbin Project”<br />A New<br />Intersystem<br />Language!<br />Lesson: Before you take over the world you mustexchange semantically precise metadata!<br />
  10. 10. 10<br />Moore’s Law<br />Note:<br />Log<br />Scale<br />Creative Commons 1.0 Courtesy of Ray Kurzweil and Kurzweil Technologies, Inc <br />
  11. 11. 11<br />Thesis: We Need Semantics<br />For the next revolution in computing<br />We don’t need faster CPUs<br />We don’t need larger hard drives<br />We don’t need faster networks<br />We don’t need more HTML linking<br />We need to link our concepts using semantic technologies<br />There are standard patterns that are used to solve these problems<br />
  12. 12. 12<br />Patterns<br />“Design Patterns” were developed by Christopher Alexander in 1979 in the building architecture domain<br />Applied by “Gang of Four” to object-oriented software in 1994<br />Each pattern has:<br />Name, Icon<br />Problem Description<br />Solution Description<br />Diagrams<br />Examples<br />Related Patterns<br />
  13. 13. 13<br />The Agent Vision<br />The Semantic Web will bring structure to the meaningful content of Web pages, creating an environment where software agents roaming from page to page can readily carry out sophisticated tasks for users.<br />The Semantic Web <br />A new form of Web content that is meaningful tocomputers will unleash a revolution of new possibilities <br />By Tim Berners-Lee, James Hendler and Ora Lassila <br />
  14. 14. Overlapping Terminology<br />Data Mining<br />Statistical Analysis<br />HTML Web<br />PatternDiscovery<br />Business Semantics<br />Data Dictionary<br />Data Warehouse<br />Enterprise<br />Application Integration<br />(EAI)<br />SemanticWeb<br />Relational Database<br />Metadata<br />Metadata<br />Discovery<br />14<br />
  15. 15. XML<br />GUI<br />Proc(i1, i2, o1)<br />Object-orientedProgramming<br />DO I=1, 100I=I+1<br />StructuredProgramming<br />MOV R0, A1BNE F32C<br />FORTRAN<br />10100101<br />AssemblyLanguage<br />MachineLanguage<br />Computer Science Is About Abstraction<br />Level ofAbstraction<br />Time<br />15<br />
  16. 16. 16<br />Person to Person Dialog<br />higherabstraction<br />Problem Solving<br />Conversation<br />Sentences<br />Concepts<br />Words<br />Sound<br />
  17. 17. 17<br />Computer to Computer Dialog<br />You Are<br />Here<br />Agents<br />Semantic Integration<br />Graphs/Ontologies/RDF/OWL<br />Documents/XML Schema<br />XML Tags<br />Internet<br />
  18. 18. 18<br />Semantic Triangle<br />A pattern of neural activity in our brain<br />Concept<br />Refers To<br />Symbolizes<br />Symbol<br />Referent<br />“cat”<br />“gato” (Spanish)<br />Stands For<br />“katze” (German)<br />Physical Objects<br />Ogden, C. K., & Richards, I. A. (1923) The Meaning of Meaning<br />
  19. 19. 19<br />Symbols Can Only Directly Link to Concepts<br />The link between a symbol is an INDIRECT link<br />The referent MUST pass through the Concept<br />Only symbols can be transmitted between computers<br />Concept<br />Referent<br />Symbol<br />“cat”<br />Ogden, C. K., & Richards, I. A. (1923) The Meaning of Meaning<br />
  20. 20. 20<br />The Problem of Semantic Ambiguity<br />context=hardware<br />context=food<br />Did you say you were looking for mixed nuts?<br />People use context to derive the correct meaning.<br />
  21. 21. 21<br />59 meanings of "run"<br />Context<br />tally<br />"the Yankees scored a run in the bottom of the 9th"<br />test<br />"The experiment ran for over an hour"<br />footrace<br />"she broke mile run record"<br />18 noun<br />"senses"<br />streak<br />"her run of luck was just starting"<br />play<br />"the football 3rd down play was a run"<br />…<br />"13 other noun meanings…"<br />"run"<br />"the kids ran to the store"<br />move fast<br />scat<br />"I would run from a ticking bomb."<br />41 verb<br />"senses"<br />go<br />"The path runs up the hill."<br />operate<br />"you need training to run this machine."<br />has form<br />"the movie plot runs like this."<br />…<br />"36 other verb meanings…"<br />Source:WordNet at http://wordnet.princeton.edu/<br />
  22. 22. 22<br />Analogy: English Dictionary<br />Term<br />Metadata (data about data)<br />Definitions<br />Note: people use<br />context to find<br />the correct meaning.<br />source: www.m-w.com<br />
  23. 23. 23<br />Word Senses<br />footrace<br />streak<br />duration<br />play<br />test<br />go<br />operate<br />tally<br />move fast<br />has form<br />scat<br />A single word maps<br />To many concepts<br />“run”<br />
  24. 24. 24<br />Synonym Ring<br />Joe Smith<br />Refers To<br />Symbolizes<br />Many symbols forthe same object<br />Stands For<br /><Person>Joe Smith<Person><br /><Individual>Joe Smith<Individual><br /><Human>Joe Smith<Human><br />
  25. 25. 25<br />I’m Thinking of an Animal…<br />Note: since “concepts” are neural patterns in the brain theconcept of “exact” is difficult to measure<br />It has four legs<br />It has fur<br />It has whiskers<br />It chases mice<br />It goes “meow”<br />If you describe enough of the properties of a concept, you can havereasonable assurances that they are the same<br />
  26. 26. 26<br />Concept Linking<br />symbol<br />Question: How can you tell if two concepts are the same if twosystems don’t share the same symbol?<br />Answer: If they have the same properties (and relationships)<br />you can assume with reasonable probability they arethe same concepts<br />
  27. 27. 27<br />Concept Overlap<br />Robo-Cat<br />Cat<br />Kitten<br />
  28. 28. 28<br />Semantics is About Concept Linking<br />Wouldn’t it be nice…<br />If computers could name things internally or on a web site however they liked (keep using the current web)<br />But we could always link those names back to a centralized database of concepts<br />Computers could do this automatically just like they translate domain names (www.google.com) into IP addresses (64.233.187.99)<br />Then we could communicate precisely without dictating the names that are used inside a computer system or on a web page<br />
  29. 29. 29<br />HTML Sample<br /><title>The Problem of Semantics</title><br /><p>This is a standard document that is sent between two computers using the <a href="http://w3c.org/Protocols">HTTP<a> protocol. Note that other then the markup tags like <b>bold</b> there is very little that a computer can do to understand the meaning of the text.</p><br />Unless computers "understand" the words in the English language it will be very difficult for them to understand the meaning or semantics of the web.<br />
  30. 30. 30<br />What Computers "See" Today<br /><title>The Problem of Semantics</title><br /><p>This is a standard document that is sent between two computers using the <a href="http://w3c.org">HTTP<a>protocol. Note that other then the markup tags like <b>bold</b>there is very little that a computer can do to understand the meaning of the text.</p><br /><ul><li>Today computers see the web as linked opaque strings with keywords
  31. 31. Unless computers "understand" the words in the English language it will be very difficult for them to understand the meaning or semantics of the web</li></li></ul><li>31<br />XML allows you to create new “tags”<br /><tag><br /></tag><br />data<br /><PersonGivenName>Joe</PersonGivenName><br /><PersonFamilyName>Smith</PersonFamilyName><br /><Address>123 Main Street</Address><br /><City>Anytown</City><br /><State>Minnesota</State><br /><Phone>(651) 555-1234</Phone><br />Without a data dictionary, it is difficult to know what the meaning of the data elements is. The tags appear in patterns but what they "mean" is still a mystery to a computer.<br />
  32. 32. 32<br />Which external computers may not understand<br /><PersonGivenName>Dan</PersonGivenName><br /><PersonFamilyName>McCreary</PersonFamilyName><br /><Address>123 Main Street</Address><br /><City>Minneapolis</City><br /><Phone>(651) 555-1234</Phone><br />Without a “data dictionary”, it is difficult to know what the meaning of the data elements is. The tags appear in patterns but what they mean is still a mystery to a computer.<br />
  33. 33. 33<br />Metadata<br />Metadata & Ontologies<br />Metadata is any data that describes other data<br />Metadata is itself data and is stored in specialized structures (directed graphs) to aid comparison with other metadata<br />A controlled store of metadata is called a “registry”<br />Complex directed graphs can evolve into “ontologies”<br />describes<br />Data<br />source-code<br />RDBMS<br />web navigation<br />tables<br />org-chart<br />columns<br />document keywords<br />product-specs<br />
  34. 34. 34<br />Hypertext Links and Data Element Links<br />The Hypertext Web<br />MetadataRegistry A<br />MetadataRegistry B<br />The Semantic Web<br />The semantic web is about linking conceptual data elements in published metadata registries<br />The current HTML web is focused on linking published documents with HTML<br />
  35. 35. 35<br />Enter the URI…<br />Today's web allows documents to be accessed by people if people put links in between documents – the hypertext web<br />But it is very difficult for machines to "understand" what we are saying and what we mean and what to do with the data<br />But machines CAN determine if two URIs match:<br /><SurName>Smith<SurName><br /><LastName>Smith</LastName><br />Hey, you both “mean” the same thing!<br />http://www.shared_dictionary.com/PersonGivenName<br />MDR<br />
  36. 36. 36<br />Subject-Verb-Object Triple<br />Person<br />Has-a-Given-Name<br />The person is named “Joe”.<br />“Joe”<br /><PersonGivenName>Joe</PersonGivenName><br />
  37. 37. 37<br />Triples are Almost all URIs<br />http://MyDictionay/DataElement/Person<br />http://MyDictionay/DataElement/PersonGivenName<br />“Dan”<br />The “type” of link.<br />URIs can point to a standard location in a metadata registry.<br />
  38. 38. 38<br />Sample RDF Document<br /><?xml version="1.0"?><br /><RDF><br /><Descriptionabout="http://www.danmccreary.com/Training/Classes/Semantic_Web"><br /><author>Dan McCreary</author><br /><created>2006-01-01</created><br /><modified> 2006-03-15</modified><br /></Description><br /></RDF><br />
  39. 39. 39<br />Massive Databases of "Triple Stores"<br />RDF "Triple Store"<br />Triple store is:<br />- A database with just 3 Columns<br />- but millions/billions of rows<br />May require specialized hardware<br />Key Metrics:<br /> - Time to load triples into application<br /> - Time to save triples into database<br /> - Time to browse to an element<br /> - Time to configure system<br />Sample Projects:<br /><ul><li>Kowari
  40. 40. 3Store
  41. 41. Sesame</li></ul>See: http://simile.mit.edu/reports/stores/<br />
  42. 42. 40<br />Semantic Web Standards Stack<br />Trusted Semantic Web<br />Proof<br />Logic<br />Rules/Query<br />Signature<br />Encryption<br />Ontology (OWL)<br />RDF Model & Syntax<br />XML Query<br />XML Schema<br />XML<br />Namespaces<br />URI/IRI<br />Unicode<br />Source: Tim Berners-Lee www.w3c.org<br />http://www.w3.org/Consortium/Offices/Presentations/SemanticWeb/34.html<br />
  43. 43. 41<br />Example of Metadata Registry<br />
  44. 44. 42<br />Hub and Spokes<br />Goal: create semantic maps to a few metadata standard, not many standards<br />R1<br />R1<br />R2<br />RN<br />R2<br />RN<br />ESB<br />R3<br />R3<br />R7<br />R7<br />R4<br />R6<br />R4<br />R6<br />R5<br />R5<br />Mapping from one to many metadata registry to N other metadata registries: The O(N2) problem<br />Mapping to one metadata registryThe O(N) problem<br />(ESB-Enterprise Service Bus)<br />
  45. 45. 43<br />Metaphor: The Translator Agent<br />Coming<br />right up!<br />May I have a beer?<br />Me gusteria una cerveza<br />Translation<br />Service<br />(Speaks Spanishand English)<br />Internal<br />Server<br />(English Only)<br />Customer<br />(Spanish Only)<br />
  46. 46. 44<br />Metadata Registry<br />Metadata<br />Translation<br />Service<br />RDF<br />Queries<br />Metadata Mappings<br />XML<br />Results<br />Model A<br />Model B<br />SQL or XMLA<br />Queries<br />In ModelB<br />Data Warehouse (RDBMS)<br />XMLResponse<br />In Model<br />A<br />TDS<br />In ModelB<br />Semantic Mappers and Semantic Brokers<br />Report<br />Request<br />In Model<br />A<br />XMLA: XML for Analysis<br />Gartner: Vocabulary-based transformation<br />
  47. 47. 45<br />Wikipedia Rocks!<br />Knowledge is growing at an exponential rate<br />The more there is out there, the more need there is to re-use rather that reinvent knowledge<br />Tools can extract 50M RDF triples<br />How many instructors share their database of exam questions and the effectiveness of each question?<br />See: Wikipedia: “Semantic Wiki”<br />
  48. 48. 46<br />Open Source Learning Mgmt. System<br />
  49. 49. 47<br />Retrieving Data: An Evolution<br />Increasing Responsiveness <br />Monthly “Green Bar” Reports<br />BrowseableGraphical Interface<br />(PivotTables, Cognos)<br />Shorten the time-to-report interval<br />Allow users to "browse" data sets interactively<br />Remove programmers with "backlogs" of reports<br />Users frequently waited days, weeks for months to get a custom report created<br />
  50. 50. 48<br />Metadata Discovery<br />Tools that “scan” data sources and create new ontologies or mappings to existing ontologies<br />Relational Database<br />Metadata Registry<br />Data Source Mappings<br />
  51. 51. 49<br />Classification and Categorization<br />Whenever we decide to break the continuous observable world into a predefined list of categories when each category has a label we call this a categorical value. These will then become the "dimensions" of our cube.<br />Discrete breaks in continuous values become “rules”<br />"green"<br />"red"<br />"blue"<br />Note: NO OVERLAP!<br />$500<br />$0<br />“normal expense"<br />“large expense“ (requires supervisor approval)<br />George Lakoff: Women, Fire and Other Dangerous Things: What Categories Revel about the Mind<br />
  52. 52. 50<br />Federated Ontologies<br />What do you do when you have more than one Ontology?<br />1) Combine<br />2) Map<br />3) Federate<br /><ul><li>Tools for combination and federation
  53. 53. “Linking is Power”</li></ul>Multiple Overlapping Ontologies<br />
  54. 54. 51<br />Cost of Poor Semantics<br />Information Technology Departments can spend 40-60% of their costs on Integration<br />90% of integration costs are due to poor semantics<br />If every application used and "published" a machine readable ontology with mappings to published ontologies integration could be almost "automatic"<br />
  55. 55. 52<br />Gartner<br />Metadata cast into formal logics will drive interoperability, automation, cost cutting, better search capabilities and new business opportunities.<br />Semantic Web Drives Data Management, Automation and Knowledge and Discovery<br />Alexander Linder<br />March 2005<br />G00125145<br />
  56. 56. 53<br />Semantic Spectrum<br />HighSemanticPrecision<br />StrongSemantics<br />Ontologies<br />Taxonomies<br />OWL<br />Enterprise Data Models<br />Concept Maps<br />Controlled Vocabularies<br />RDF<br />Thesaurus<br />UML, XMI<br />Glossaries<br />XML, XSLT<br />Word/HTML<br />WeakSemantics<br />Time/Money<br />See also: Wikipedia/semantic spectrum<br />
  57. 57. 54<br />Structures for Increased Semantics<br />HTML PDF Word PowerPoint Excel Access Server XML RDBMS RDF Taxonomies Ontologies<br />SOA<br />WSDL<br />Increased Semantic Precision<br />Source: Network Inference<br />
  58. 58. 55<br />Friend of a Friend<br /><ul><li>A "Proof of Concept for RDF"
  59. 59. Requires each person to put an RDF file on their web pages
  60. 60. System in place to prevent spammers from getting e-mail accounts
  61. 61. Sample RDF vocabulary
  62. 62. Sample FoaF file:</li></ul><foaf:Person> <foaf:name>Dan McCreary</foaf:name> <foaf:knows> <foaf:Person> <foaf:name>Bill Titus</foaf:name> </foaf:Person> </foaf:knows></foaf:Person> <br />
  63. 63. 56<br />Ontology Architectures<br />One "big" ontology (see CycCorp cyc.com)<br />Using a single "Uber-Ontology"<br />Akin to "Boiling the Ocean"<br />Compared to:<br />Many smaller ontologies<br />Micro-formats (RDF/A)<br />How to combine?<br />CYC contains over<br />3 Million "assertions"<br />Source: cyc.com<br />
  64. 64. 57<br />If You Give A Kid A Hammer…<br />…the whole world becomes a nail<br />People solve problems with the tools they know<br />Semantics are new tools for solving computer-to-computer communication problems<br />Intelligent agents will be prevalent when we teach organization to publish their metadata<br />Example: Procedural vs. Declarative Programming<br />
  65. 65. 58<br />Cognitive Styles<br />The way we solve problems is dependant on the tools we know how to use.<br />Shoshana Zuboff (1988)<br />In the Age of the Smart Machine<br />Technology creates:<br /> - new ways of thinking<br /> - new ways of approaching and solving problems<br /> - new sets of "Cognitive Styles"<br />It is only if we share these cognitive styles that we will be able to create a coherent technology strategy that everyone understands<br />
  66. 66. 59<br />Metadata<br />Publishing<br />Open The Door To The Semantic Web!<br />Agents<br />Metadata publishing is hard<br />It is a foundation upon which the Semantic Web will be built<br />The benefits are indirect and need strong executive sponsorship<br />Metadata publishing is no “silver bullet”<br />I believe it is the most direct way to get to the Semantic Web<br />This will be the most practical way to build intelligent agents<br />
  67. 67. 60<br />Top AI Researchers Agree…<br />If software is ever going to be able to effectively inter-operate (in ways that were not explicitly preconceived and engineered), it will be because applications share enough of the semantics of their data elements.<br />Doug Lenat, Cycorp<br />Semantic Technology Conference<br />2005<br />
  68. 68. Thank You<br />Questions…<br />Copyright Dan McCreary & Associates<br />61<br />

×