[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Avoiding Syntactic Rigor Mortis using OWL
Hi Folks, Below I outline a strategy for realizing the full flexibility of XML through the use of OWL ontologies. Comments welcome. /Roger Prior to outlining the strategy I need to define some terminology that I will use. Terminology - Logical Design An OWL ontology defines the fundamental relationships of your data. That is, an OWL ontology defines a "logical design". Example of fundamental relationships for camera data: - SLR is a type of Camera - f-stop is synonymous with aperture - focal-length is synonymous with lens size Terminology - Physical Expression An instance document is a "physical expression" of the logical design. For a given logical design there are many possible physical expressions. Example of a physical expression for camera data: <SLR rdf:ID="Olympus-OM-10"> <viewFinder>twin mirror</viewFinder> <optics> <Lens> <focal-length>75-300mm zoom</focal-length> <f-stop>4.0-4.5</f-stop> </Lens> </optics> <shutter-speed>1/2000 sec. to 10 sec.</shutter-speed> </SLR> Here's another physical expression: <Camera rdf:ID="Olympus-OM-10"> <viewFinder>twin mirror</viewFinder> <optics> <Lens> <size>300mm zoom</size> <aperture>4.5</aperture> </Lens> </optics> <shutter-speed>1/2000 sec. to 10 sec.</shutter-speed> </Camera> Note that the first physical expression uses this terminology: SLR, f-stop, focal-length While the second physical expression uses this terminology: camera, aperture, (lens) size These represent two (of many) physical expressions of the same logical model. Strategy Objective - Maximize diversity of physical expression. - Allow (and encourage!) diversity of physical expression. - that is, create instance documents in a style which meets your needs/desires. - Liberate from requiring every application to use the same terminology (i.e., the same tag names). - Truly realize XML's flexibility. Strategy The strategy is quite simple: all parties participating in an exchange of data can compose any physical expression, provided the physical expression does not violate the fundamental data relationships defined in the logical design. Thus, one person can create a camera document like the first one shown above. Another person can compose a camera document like the second one shown above. Using the unifying logical design (i.e., the OWL ontology) the two people can interoperate seamlessly. Concept of Operation Here's the concept of operation: Let's take the camera example. Suppose that my application receives a physical expression (i.e., an instance document) from a trading partner. Further, suppose that my application is coded to understand this vocabulary: camera, aperture, (lens) size My trading partner has taken advantage of XML's flexibility and has elected to use this terminology: SLR, f-stop, focal-length As my application parses the XML document that it received from the trading partner it encounters <SLR>. It doesn't "understand" SLR so it "consults" the Camera ontology: "What do you know about SLR?" The ontology returns: "SLR is a type of Camera." This knowledge provides the link for my application to understand the relationship between something it doesn't know (SLR) to something it does know (Camera). My application continues parsing... It encounters <f-stop>. Again, my application was not coded to understand f-stop, so it consults the Camera ontology: "What do you know about f-stop?" The ontology returns: "f-stop is synonymous with aperture." Once again, this knowledge serves to bridge the terminology gap. Ditto for focal-length... Summary Interoperability despite terminology differences! There can be many different physical expressions (i.e., instance documents can be in various forms). The flexibility of XML is being realized! When an application processes a physical expression (i.e., an instance document) it "consults" an ontology for vocabulary it is not knowledgeable about. Performance One point of using an ontology is that it allows for near linear semantic integration rather than n**2 integration. Each application/database maps to the "lingua franca" of the ontology, rather than to each other.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|