1 / 78

Semantic Web

Semantic Web. Presentation by Patrick Emery for SWE 723 Precise Modeling. TOC. Semantic Web High Level RDF OWL OMG/UML ODM. Semantic Web Big Picture.

zach
Download Presentation

Semantic Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Semantic Web Presentation by Patrick Emery for SWE 723 Precise Modeling

  2. TOC • Semantic Web High Level • RDF • OWL • OMG/UML • ODM

  3. Semantic Web Big Picture • “This document is a plan for achieving a set of connected applications for data on the Web in such a way as to form a consistent logical web of data (semantic web).” – Tim Berners-Lee, http://www.w3.org/DesignIssues/Semantic.html • The “Semantic Web” is a metadata based infrastructure for reasoning on the Web • It extends the current Web (and does not replace it) • Semantic Web - Goals • Standardized machine processable Meta-data that facilitates inferencing • A layer cake of technologies providing an architecture for a metadata enhanced web See also http://www.w3.org/DesignIssues/Architecture.html http://www.w3.org/DesignIssues/Semantic.html

  4. Semantic Web Layer Cake OWL http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/Overview.html

  5. Semantic Web – What is Needed • A resource should provide information about itself, called “metadata” • metadata should be in a machine processable format • agents should be able to “reason” about (meta)data • metadata vocabularies should be defined http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/Overview.html

  6. What is Needed (Technically)? • Machine processable metadata: • unambiguous names for resources (URIs) • a common data model for expressing metadata (RDF) • ways to access the metadata on the Web • common vocabularies (Ontologies) http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/Overview.html

  7. Resource • A resource can be anything that has identity. Familiar examples include an electronic document, an image, a service (e.g., "today's weather report for Los Angeles"), and a collection of other resources. • Not all resources are network "retrievable"; e.g., human beings, corporations, and bound books in a library can also be considered resources. • The resource is the conceptual mapping to an entity or set of entities, not necessarily the entity which corresponds to that mapping at any particular instance in time. • Thus, a resource can remain constant even when its content---the entities to which it currently corresponds---changes over time, provided that the conceptual mapping is not changed in the process.

  8. What Can Be a Resource? • The name "http://x.org/love" itself.    It is simply a string that conforms to the URL syntax specified in RFC2396. • A particular concept of love.  (Or other things that are not directly on the Web, such as cars and people. ) • A Web location, which is a logical source of document instances that describe the concept of love.  The Web location is the abstract interface or endpoint from which document instances can be obtained.  This Web location might be associated with a particular server, a file on a server, or an executable program that creates and returns the description dynamically.  It may return the same or a different document instance each time it is queried.  • A document instance that describes the concept of love, obtained at a particular point in time from the Web location http://x.org/love.  http://www.w3.org/2002/11/dbooth-names/dbooth-names_clean.htm

  9. Trusted SW Proof Signature Encryption Logic Rules/Query Ontology RDF Model & Syntax XML Query XML Schema XML Namespaces URI/IRI Unicode URI, URL, and URN • A Uniform Resource Identifier (URI) is a compact string of characters for identifying an abstract or physical resource. • "Uniform Resource Locator" (URL) refers to the subset of URI that identify resources via a representation of their primary access mechanism (e.g., their network "location"), rather than identifying the resource by name or by some other attribute(s) of that resource. • The term "Uniform Resource Name" (URN) refers to the subset of URI that are required to remain globally unique and persistent even when the resource ceases to exist or becomes unavailable. http://www.ietf.org/rfc/rfc2396.txt

  10. URI, URL, and URN (Cont.) • URI BNF • URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ] • absoluteURI = scheme ":" ( hier_part | opaque_part ) • hier_part = ( net_path | abs_path ) [ "?" query ] • net_path = "//" authority [ abs_path ] • abs_path = "/" path_segments • URN BNF • <URN> ::= "urn:" <NID> ":" <NSS> • Example URL - http://www.ietf.org/rfc/rfc2396.txt • Example URN - urn:uuid:44bc7776-a7d1-4fb5-88d5-c636c4c4dc09

  11. Proof Signature Encryption Logic Rules/Query Ontology RDF Model & Syntax XML Query XML Schema XML Namespaces URI/IRI Unicode XML • Extensible Markup Language (XML) • a markup specification language describing text or data • allows creation of domain specific markup • usually for storage, transmission, or processing by a program • says nothing about what you should do with the data <?xml version="1.0" standalone="yes"?> <!– This is a comment in XML --> <conversation type="private"> <greeting>Hello, world!</greeting> <response>Stop the planet, I want to get off!</response> </conversation> • XML namespaces • collection of element and attribute names identified by Uniform Resource Identifier references. Each reference can declare a prefix to be used by each name. <x xmlns:spc=http://www.company.com/company-schema ex=http://www.example.org/security> <spc:conversation ex:type=“private”> Trusted SW

  12. Trusted SW Proof Signature Encryption Logic Rules/Query Ontology RDF Model & Syntax XML Query XML Schema XML Namespaces URI/IRI Unicode XML Schema • Document Type Definition (DTD) • optionally used to describe the markup in any specific type of document • sets out names for the different types of element, where they may occur, and how they fit together • XML Schema • describes structure and datatypes used in xml documents • written as XML simplifying parsing requirements • Style Sheets • document with hints/algorithms for rendering/transforming data • Cascading Style Sheets (CSS) • used with HTML to aid in visual rendering • associate with an XML document to allow visual rendering • Extensible Style sheet Language Transformations (XSLT) • more complex and powerful style sheet language • transform XML to other formats (HTML,other forms of XML, text)

  13. Trusted SW Proof Signature Encryption Logic Rules/Query Ontology RDF Model & Syntax XML Query XML Schema XML Namespaces URI/IRI Unicode Resource Description Framework • Statements can be modeled (mathematically) with: • Resources: an element, a URI, a literal, … • Properties: directed relations between two resources • Statements: “triples” of two resources bound by a property • usual terminology: (s,p,o) for subject, predicate, object • RDF is a general model for such statements • … with machine readable formats (e.g., XML or n3) • URI’s ground RDF into the Web

  14. RDF is a Graph • Tuples are a general form capable of representing most anything • An (s,p,o) triple can be viewed as a labeled edge in a graph • i.e., a set of RDF statements is a directed, labeled graph • both “objects” and “subjects” are the graph nodes • “predicates” also referred to as “properties” are the edges

  15. RDF is a Graph (Cont.) • the formal semantics of RDF are also described using graphs • RDF-Schema (RDFS) define basic vocabulary terms such as resource and class <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#' xmlns="http://my.example.org#" xmlns:ex="http://my.example.org#" xmlns:base="http://my.example.org#"> <rdf:Description rdf:about="http://my.example.org#aSubject"> <ex:aProperty rdf:resource="http://my.example.org#aObject"/> </rdf:Description> </rdf:RDF>

  16. Representing RDF in XML • Encode nodes and edges as XML elements or with literals • Encode the property (i.e., edge) in its own namespace • Blank Nodes are nodes without URIs • “the vehicle is a «thing» that consists of wheels, an engine and the breaks • RDF Nodes can have type(s) using the property rdf:type • <rdf:RDF xmlns:axsvg=http://svg.example.org# • xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> • <rdf:Description rdf:about="#FullSlide"> • <axsvg:LabelledBy> • <rdf:Description rdf:about="#BottomLegend"/> • </axsvg:LabelledBy> • </rdf:Description> • <rdf:RDF>

  17. Main RDFS Classes http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/Overview.html

  18. Trusted SW Proof Signature Encryption Logic Rules/Query Ontology RDF Model & Syntax XML Query XML Schema XML Namespaces URI/IRI Unicode Ontologies on top of RDF/S • Ontology - defines the concepts and relationships used to describe and represent an area of knowledge • With Ontologies, you can construct new classes from existing ones: • enumerate its content • through intersection, union, complement • through property restrictions • To do so, OWL introduces its own Class and Thing to differentiate the individuals from the classes http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/Overview.html

  19. Web Ontology Language (OWL) • 2004 W3C Recommendation • Three layers of OWL are defined: Lite, DL, and Full • increasing level of complexity and expressiveness • “Full” is the whole thing (Research Level) • “DL (Description Logic)” restricts Full in some respects (Decidable) • “Lite” restricts DL even more (Easily implemented and taught) http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/Overview.html

  20. OWL Full • No constraints on the various constructs • owl:Class is equivalent to rdfs:Class • owl:Thing is equivalent to rdfs:Resource • This means that, e.g., a Class can also be an individual • it is possible to talk about class of classes, etc • A real superset of RDFS http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/Overview.html

  21. OWL DL • owl:Class, owl:Thing, owl:ObjectProperty, owl:DatatypeProperty are strictly separated • i.e., a class cannot be an individual of another class • No characterization of datatype properties possible • No cardinality constraint on transitive properties • No mixture of owl:Class and rdfs:Class in definitions • essentially: use OWL concepts only! • Some restrictions on annotations • Goal: maximal subset of OWL Full against which current research can assure that a decidable reasoning procedure is realizable http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/Overview.html

  22. OWL Lite • All of DL’s restrictions, plus some more: • class construction can be done only through: • intersection • property constraints • Goal: provide a minimal useful subset, easily implemented • simple class hierarchies can be built • property constraints and characterizations can be used http://www.w3.org/Consortium/Offices/Presentations/RDFTutorial/Overview.html

  23. Example OWL <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE rdf:RDF [ <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <!ENTITY owl 'http://www.w3.org/2002/07/owl#'> <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'> ]> <rdf:RDF xml:base="file://simple.owl"xmlns:rdf="&rdf;" xmlns:owl="&owl;" xmlns:rdfs="&rdfs;"> <owl:Ontology rdf:about=""/> <owl:Class rdf:ID="Class_0"/> <owl:Class rdf:ID="Class_1"> <rdfs:subClassOf rdf:resource="#Class_0"/> <rdfs:subClassOf rdf:resource="#OGr0"/> </owl:Class> <owl:Class rdf:ID="Class_2"> <rdfs:subClassOf rdf:resource="#Class_0"/> <rdfs:subClassOf rdf:resource="#OGr3"/> <rdfs:subClassOf rdf:resource="#OGr6"/> </owl:Class> <owl:Restriction rdf:ID="OGr0"> <owl:allValuesFrom rdf:resource="#Class_2"/> <owl:onProperty rdf:resource="#Role_A"/> </owl:Restriction>

  24. Example OWL (Cont.) <owl:Restriction rdf:ID="OGr3"> <owl:allValuesFrom rdf:resource="#Class_1"/> <owl:onProperty rdf:resource="#Role_B"/> </owl:Restriction> <owl:Restriction rdf:ID="OGr6"> <owl:allValuesFrom rdf:resource="#Class_1"/> <owl:onProperty rdf:resource="#the_Association"/> </owl:Restriction> <owl:ObjectProperty rdf:ID="Role_A"> <rdfs:subPropertyOf rdf:resource="#the_Association"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="Role_B"> <rdfs:subPropertyOf rdf:resource="#the_Association"/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID="c2_attr1"> <rdfs:domain rdf:resource="#Class_2"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="the_Association"/> <rdfs:Datatype rdf:about="http://www.w3.org/2001/XMLSchema#string"/> </rdf:RDF>

  25. UML of Example OWL

  26. Other Semantic Web Links • Open Source Semantic Web site • http://www.semwebcentral.org/ • Semantic Web Service Ontology • http://www.daml.org/services/owl-s/1.0/ • Semantic Web Rule Language • http://www.daml.org/2003/11/swrl/ • OWL Query Language • http://ksl-web.stanford.edu/KSL_Abstract/KSL-03-14.html • OWL Validator • http://phoebus.cs.man.ac.uk:9999/OWL/Validator/ • RDF Validator • http://www.w3.org/RDF/Validator/ • Existing Ontologies such as OWL Time Ontology • http://www.cs.rochester.edu/~ferguson/daml/

  27. TOC Part II • How AT&T Is Involved • Who is the OMG and how are they involved • What is the latest

  28. DAML Program • Sponsored by DARPA • Developed DAML+OIL, precursor to OWL • Developed as an extension to XML and the Resource Description Framework (RDF) • Provides a rich set of constructs for ontology creation and information markup • Machine readable and understandable • Understandable means a machine's ability to solve a well-defined problem by performing well-defined operations on existing well-defined data • AT&T’s DAML Contract, • Components for Ontology Driven Information Push (CODIP) • http://codip.grci.com/

  29. OMG Basics • Founded April, 1989 • International Software Standards Consortium Headquartered in the U.S. • Approximately 600 Member Companies • Source and caretaker of specifications for: • Model Driven Architecture (MDA) • Meta Object Facility (MOF) • Unified Modeling Language (UML) • XML Metadata Interchange (XMI) • Common Warehouse Metamodel (CWM) • CORBA including Realtime, Embedded, Fault Tolerant • CORBAservices, CORBAfacilities Object Management Group is the largest and longest standing not-for-profit, open-membership consortium which develops and maintains computer industry specifications.

  30. OMG Technical Plenaries Board of Directors Technical Committees Architecture Board (AB) Platform (PTC) Domain Business Enterprise TF C4I TF Finance TF Healthcare TF Life Sciences TF Space TF Telecom TF Transport. TF … eGov SIG S/W RadioSIG Systems Engineering … Liaison SC Object & Reference Model SC Business Rules SIG Java Community Process SIG MDA Users SIG Security SIG Test & Val. SIG Web Services SIG Product Std Def SC Architecture and Design Task Force (ADTF) MARS TF Real-time TF Ontology SIG Agent SIG Japan SIG …

  31. AB PTC Board Approval TC Recommendation Request for Information ADTF Finalization and Revision Responses, Letters of Intent from Industry Initial Submission Evaluation and Revision Final Submission ODM is in revision. Request for Proposal Onto SIG Subgroup Roadmap OMG Adoption ProcessWhere is the ODM now? OMG Technical Plenaries meet at Technical Meetings which occur five times annually.

  32. Meta Object Facility Ontology UML Definition Ontology Profile Metamodel Language Mapping <owl:Class public class Car {} rdf :ID=‘Car’/> Ontology Definition Metamodel (ODM) RFP Scope • A standard meta-model for ontology modeling • A UML2 Profile for depicting Ontologies • With at least mappings • Between ODM and the profile • Between ODM and the W3C OWL DL Mapping User Car Model Realizations ODM RFP may be found at http://www.omg.org/cgi-bin/apps/doc?ad/2003-03-40

  33. ODM RFP Initial Submissions Overview Initial Submissions and ADTF Presentations may be found at http://www.omg.org/cgi-bin/apps/doc?

  34. Joint Submission and Work Products • All 4 initial submitters agreed to pursue a joint response • They are working with Ontology SIG to define: • Usage Scenarios & Goals for ODM document • Posted to Ontology SIG Web page for public review & comment (1/15/04) • ODM metamodel • RDFS and OWL, XTM, SCL (Language mappings) • Common Core if needed • XMI artifacts • JODM (Java API for ODM) • Core, SCL, RDFS and OWL packages • UML 2 vs OWL Full document • ODM submission document

  35. Usage Scenarios and Goals for ODM • Intended to establish a set of usage scenarios and goals that motivate development of an Ontology Definition Metamodel (ODM) using the Meta-Object Facility (MOF) and an associated Unified Modeling Language (UML) profile for creating, managing and visualizing OWL ontologies as UML models. • Business Applications • Run Time Interoperation, Application Generation, Ontology Lifecycle • Analytic Applications • Emergent Property Discovery ,Exchange of Complex Data Sets • Engineering Applications • Information Systems Development, Ontology Analysis http://www.omg.org/cgi-bin/doc?ontology/2004-01-01

  36. Applications • Three clusters of similar application perspectives • Business Applications • Transcendent source of structure, a high degree of formality, largely read-only. • External control relative to nearly all users and slowly changing • Analytic Applications • Wide ranges of authoritativeness, internally defined and highly changeable • Dynamic, flexible ontologies, using mostly large, read-only collections with a real-time focus. • Engineering Applications • Wide ranges of authoritativeness, externally defined with volatile instances • primarily internally control with a focus on design-time application.

  37. Goals for the ODM • Support ontologies expressed in existing description logic, and higher order logic languages • Provide a basis for information systems process descriptions to support interoperability. • Support physical world concepts, including time, space, bulk or mass nouns like ‘water’, and things that do not have identifiable instances. • Provide a basis for describing multiple facets of representations, stateful representations, and model-based architectures. • Support efficient mechanisms and tools. • Support modules and version control.

  38. ODM – Meta Model Draft Draft

  39. ODM Core Package – Deleted but may return Draft Draft

  40. Draft ODM XML Topic Map Overview

  41. ODM RDFS Overview Draft

  42. Draft ODM OWL Overview

  43. Simplified Common Logic (SCL) Draft • Next generation Knowledge Interchange Format (KIF) • Going through ISO Process • Semantically - First Order Logic • a single homogenous universe (non-empty set) of individuals over which all quantifiers range • any expression that can be substituted for a quantified variable must denote something in this universe • Relations hold between finite sequences of individuals • Individuals are 'logically atomic‘. All that can be said about them is the relations they take part in • mathematically, a first-order interpretation is a purely relational structure Draft http://www.ihmc.us/users/phayes/SCL_december_2.html

  44. Expressions

  45. Terms

  46. Names and Terms • The lexical syntax section of the SCL document has rules for what can be a valid name. • Some of these rules cannot be expressed in OCL. For example: • name::= ((alpha | other) wordchar*) - specialname which depends on preceding definitions of alpha and other • A name may not contain a quoted string • We can use OCL to rule out special names but not to state rules about what kinds of ascii characters are allowed. Enforcing these rules has to be the responsibility of the parser. • The Name/CommentedTerm/Application partition is disjoint context Term inv DisjointPartion: (self.oclIsKindOf(Name) xor self.oclIsKindOf(CommentedTerm)) and (self.oclIsKindOf(Name) xor self.oclIsKindOf(Application)) and (self.oclIsKindOf(CommentedTerm) xor self.oclIsKindOf(Application)) • Note lack of simple “disjoint” declaration in MOF

  47. Atoms

  48. Sentences

  49. Atoms and Sentences • Holding and RoleSet form a disjoint partition context Atom inv DisjointPartition: self.oclIsKindOf(Holding) xor self.oclIsKindOf(RoleSet) • The partition formed by the subclasses of Sentence is disjoint context Sentence inv DisjointPartition: (self.oclIsKindOf(and) xor self.oclIsKindOf(or)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(not)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(implies)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(iff)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(forall)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(exists)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(Atom)) and (self.oclIsKindOf(and) xor self.oclIsKindOf(CommentedSentence)) and (self.oclIsKindOf(or) xor self.oclIsKindOf(not)) and (self.oclIsKindOf(or) xor self.oclIsKindOf(implies)) and (self.oclIsKindOf(or) xor self.oclIsKindOf(iff)) and (self.oclIsKindOf(or) xor self.oclIsKindOf(forall)) and …

  50. Boolean (Logical) Sentences

More Related