Introduction to Semantic Web Professor James Hendler http://www.cs.umd.ed u/~hendler Frank van Harmelen and Marta Sabou AI Department Vrije Universiteit Amsterdam 2016/7/1 1 Semantic Web: the vision WWW is an impressive success: amount of available information (> 1 Giga-page) number of human users (> 200 Mega-user) However, we’ve only seen two generations: handwritten HTML human readers database generated pages The real power will come with the 3rd generation: machine accessible semantics 2016/7/1 2 What is XML? XML: eXtensible Markup Language Subset of SGML, but more efficient and lightweight XML: Extensible: tags can be defined; can be extended to lots of different applications. Markup language: language used to mark up data. Meta Language: Language used to create other languages. 2016/7/1 3 XML v.HTML contrast with HTML: XML is Extensible: HTML: restricted set of tags, e.g. <TABLE>, <H1>, <B>, etc. XML: you can create your own tags Example: Put a library catalog on the web. HTML: You are stuck with regular HTML tags, e.g. H1, H3, etc. XML: You can create your own set of tags: TITLE, AUTHOR, DATE, PUBLISHER, etc. 2016/7/1 4 Book Catalog in HTML <HTML> <BODY> <H1>Harry Potter</H1> <H2>J. K. Rowling</H2> <H3>1999</H3> <H3>Scholastic</H3> </BODY> </HTML> HTML conveys the “look and feel” of your page. As a human, it is easy to pick out the publisher. But, how would a computer pick out the publisher? Answer: XML 2016/7/1 5 Book Catalog in XML <BOOK> <TITLE>Harry Potter</TITLE> <AUTHOR>J. K. Rowling</AUTHOR> <DATE>1999</DATE> <PUBLISHER>Scholastic</PUBLISHER> </BOOK> Look at the new tags! A Human and a computer can now easily extract the publisher data. 2016/7/1 6 XML v. HTML General Structure: Both have Start tags and end tags. Tag Sets: HTML has set tags XML lets you create your own tags. General Purposes: HTML focuses on structure and presentation -"look and feel” XML focuses on the structure of the data, not presentation XML is not meant to be a replacement for HTML. In fact, they are usually used together. 2016/7/1 7 XML helps XML allows “meaningful tags” to be added to parts of the text < name > <main story> <News> side < story > style < of music > 2016/7/1 8 But, XML machine accessible meaning To your machine, the tags look like this…. name > < name <education> < education> < CV CV > <work> < work> <private> < private > 2016/7/1 9 RDF Schemas take a step in the right direction Schemas help…. < CV > private 2016/7/1 …by relating common terms between documents 10 But other people use other schemas Someone else has one like this…. <name> name > <<educ> education> <> > < work CV> > <<CV <<> private > 2016/7/1 11 The “semantics” isn’t there < CV > private 2016/7/1 …which don’t fit in 12 Knowledge Representation provides “external” referents to merge on nme CV CV work vate educ CV ed uc <name < name >> <<educ education> > SW languages add mappings And structure. 2016/7/1 <> > < work << CV CV > << private>> 13 Which is what the web was meant to be!! "This is a pity, as in fact documents on the web describe real objects and imaginary concepts, and give particular relationships between them... For example, a document might describe a person. The title document to a house describes a house and also the ownership relation with a person. ... This means that machines, as well as people operating on the web of information, can do real things. For example, a program could search for a house and negotiate transfer of ownership of the house to a new owner. The land registry guarantees that the title actually represents reality.” 2016/7/1 Tim Berners-Lee plenary presentation at WWW Geneva, 1994 14 Tim Berners Lee: the Semantic Web “In communicating between people using the Web, computers and networks have as their job to enable the information space, and otherwise get out of the way. But doesn’t it make sense to also bring computers more into the action? – part two of the dream! “… This creates what I call a Semantic Web – a web of data that can be processed directly or indirectly by machines.” <<Weaving the Web>> pp 177. 2016/7/1 15 Ontologies Web-based knowledge representation Marta Sabou 2016/7/1 16 What is an ontology? Philosophy (400BC): Systematic explanation of Existence Ontology defines basic terms and relations comprising the vocabulary of a topic area as well as the rules for combining terms and relations to define extensions to the vocabulary Neches (91): Gruber (93): Explicit Borst (97): 2016/7/1 specification of a conceptualization Formal specification of a shared conceptualization 17 What is an ontology? Studer(98): Formal, explicit specification of a shared conceptualization Machine readable Concepts, properties, functions, axioms are explicitly defined 2016/7/1 Consensual knowledge Abstract model of some phenomena in the world 18 Benefits Communication between people Interoperability between software agents Reuse of domain knowledge Make domain knowledge explicit Analyze domain knowledge Building an ontology is not a goal in itself. 2016/7/1 19 Ontology Elements •Concepts(classes) + their hierarchy •Concept properties (slots/attributes) •Property restrictions (type, cardinality, domain) •Relations between concepts (disjoint, equality) •Instances 2016/7/1 20 How to build an ontology? Steps: •determine domain and scope •enumerate important terms •define classes and class hierarchies •define slots •define slot restrictions (cardinality, value-type) 2016/7/1 21 Step 1: Determine Domain and Scope Domain: geography Application: route planning agent Possible questions: Distance between two cities? What sort of connections exist between two cities? In which country is a city? How many borders are crossed? 2016/7/1 22 Step 2: Enumerate Important Terms city capital Connection_on_land country border road railway Connection_on_water currency Connection_in_air connection 2016/7/1 23 Step 3: Define Classes and Class Hierarchy 2016/7/1 24 Step 4: Define Slots of Classes Geographic_entity Country Borders_with Has_capital Capital_of End_point City Connection Start_point Capital_city Step 5: Define slot constraints •Slot-cardinality Ex: Borders_with multiple, Start_point single •Slot-value type Ex: Borders_with- Country 2016/7/1 25 Issues on class hierarchy A - all is-a relations hold? Inst(B) Inst(A) - check transitivity C Subclass_of(A) D Subclass_of(C) - avoid unexpected cycles B Subclass_of(A) A Subclass_of(B) 2016/7/1 B C D D Subclass_of(A) A=B 26 Issues on Slots - inverse slots (redundant, but explicit) Has_capital Capital_city Country Capital_of -symmetric slots Ex. A borders_with B -transitive slots A.connection(B) B.connection(C) 2016/7/1 B borders_with A A.connection(C) 27 Amount of meaning - attribute of the ontology Amount of meaning: - the more meaning the lower ambiguity •Light-weight ontologies -taxonomy - semantics only in the specialization relation ODP(www.dmoz.org) web catalogues •Heavy-weight ontologies Ex: Cyc ontology - common knowledge of the world 2016/7/1 28 Amount of meaning 2016/7/1 29 Amount of meaning 2016/7/1 30 Degree of formality - attribute of the ontology representation language Highly informal - expressed in loose natural language Ex: glossaries, WordNet Informal - expressed in structured natural language Ex: text version of “Enterprise ontology” Semi-formal - expressed in an artificially defined language Ex: Ontolingua version of “Enterprise ontology” Rigorously formal - terms with formal semantics, theorems, proofs Ex: Cyc 2016/7/1 31 Related research - just a small list 1. On-To-Knowledge -uses ontologies to facilitate access to large intranets 2. DAML+OIL -joint EU/US collaboration for the development of the DAML+OIL ontology language 3. OntoWeb - thematic network concerned with ontology-based information exchange for knowledge management an electronic commerce. 4. OntoBroker -system that allows annotation with ontological metadata and querying of web pages 5. SHOE (Simple HTML Ontology Extension) - extension to HTML that allows declaration of ontologies and annotation of HTML pages 6. OntoSeek - provides enhanced access to directory services using a rich linguistic ontology in order to improve information retrieval performances . ……………….. 2016/7/1 32 Semantic Markup Languages: A Gentle Introduction Yolanda Gil USC/Information Sciences Institute gil@isi.edu 2016/7/1 33 RDF (Resource Description Framework) • RDF provides a way of describing resources via metadata (data about data) It restricts the description of resources to triplets (subject,predicate,object) • It provides interoperability between applications that exchange machine understandable information on the Web. • The original broad goal of RDF was to define a mechanism for describing resources that makes no assumptions about a particular application domain, nor defines (a priori) the semantics of any application domain. • Uses XML as the interchange syntax. • Provides a lightweight ontology system. The formal specification of RDF is available at: http://www.w3.org/TR/REC-rdf-syntax/ 2016/7/1 34 RDF (cont’d) An example of RDF using the Dublin Core language <? xml version="1.0" ?> <RDF xmlns = http://w3.org/TR/1999/PR-rdf-syntax-19990105# xmlns:DC = "http://purl.org/DC#"> <Description about = "http://dstc.com.au/report.html" > <DC:Title> The Future of Metadata </DC:Title> <DC:Creator> Jacky Crystal </DC:Creator> <DC:Date> 1998-01-01 </DC:Date> <DC:Subject> Metadata, RDF, Dublin Core </DC:Subject> </Description> </RDF> 2016/7/1 35 RDF Syntax Subject, Predicate and Object Triplets (Tuples) • Subject: The resource being described. • Predicate: A property of the resource • Object: The value of the property A combination of them is said to be a Statement (or a rule) http://foo.bar.org/index.html Author John Doe A web page being described A property of the web page (author) The value of the predicate (here the author) [Subject] [Predicate] [Object] 2016/7/1 36 RDF Example <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#" xmlns:s="http://description.org/schema/"> Namespace for the RDF spec Namespace ‘s’, a custom namespace Subject <rdf:Description about="http://foo.bar.org/index.html"> <s:Author>John Doe</s:Author> Author (property of the subject) </rdf:Description> (Also a resource) </rdf:RDF> Object. Can also point to a resource The above statement says : The Author of http://foo.bar.org/index.html is “John Doe” In this way, we can have different objects (resources) pointing to other objects (resources) You can also make statements about statements – reification Ex: ‘xyz’ says that ‘ The Author of http://foo.bar.org/index.html is John Doe’ 2016/7/1 37 RDF Schema • A schema defines the terms that will be used in the RDF statements and gives specific meanings to them. http://www.w3.org/TR/rdf-schema/ Example: <rdf:RDF xml:lang="en" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description ID="MotorVehicle"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/> </rdf:Description> <rdf:Description ID="PassengerVehicle"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description ID="Truck"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> 2016/7/1 RDF Schema Namespace An “ID” attribute actually defines a new resource “Resource” is the top level class PassengerVehicle is a subclass of MotorVehicle 38 Example (cont..) <rdf:Description ID="Van"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#MotorVehicle"/> </rdf:Description> <rdf:Description ID="MiniVan"> <rdf:type resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="#Van"/> <rdfs:subClassOf rdf:resource="#PassengerVehicle"/> </rdf:Description> <rdf:Description ID="registeredTo"> <rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> <rdfs:domain rdf:resource="#MotorVehicle"/> <rdfs:range rdf:resource="#Person"/> </rdf:Description> Multiple Inheritance Domain of a property <rdf:Description ID="rearSeatLegRoom"> <rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/> <rdfs:domain rdf:resource="#PassengerVehicle"/> <rdfs:domain rdf:resource="#Minivan"/> <rdfs:range rdf:resource="http://www.w3.org/2000/03/example/classes#Number"/> </rdf:Description> </rdf:RDF> 2016/7/1 Range of a property 39 RDF: Tools/Resources SirPAC A Simple RDF Parser & Compiler. It parses the RDF, and validates it. It also generates the tuples and even draws a graph of the data model. www.w3.org/RDF/Implementations/SiRPAC/ Reggie A Nice Metadata Editor. Java based simple user interface to describe a web resource. Can mail the metadata file to yourself after finished editing. http://metadata.net/dstc/ Protégé Editor of ontologies in practically any language you care about. Open source. http://www.smi.stanford.edu/projects/protege/ 2016/7/1 40 2016/7/1 41 The Layer Cake [TBL,XML2000] 2016/7/1 42 Limitations of RDF - Cannot define properties of properties (unique, transitive) - No equivalence, disjointness, etc. No mechanism of specifying necessary and sufficient conditions for class membership. Example: If it is given that ‘XYZ’ has a ‘car’ which is ‘7ft high’, has ‘wide wheels’ and ‘loading space is 4 cub.m’, then we should be able to reason that ‘XYZ’ has an ‘SUV’, as given by the necessary and sufficient conditions for being an ‘SUV’ : height > 4ft & wide wheels & loading space > 2 cub.m 2016/7/1 43 DAML+OIL’s History • W3C’s Semantic Web Activity: - RDF and metadata markup efforts to represent data in a machine understandable form. • DARPA started the DARPA Agent Markup Language (DAML) program. • possibly with “ARPANET -> Internet” in mind • EC (European Commission) funding programs - Ontology Interchange Language (OIL) - logic based language. - brings logic and inference to the Semantic Web www.daml.org DAML+OIL: http://www.daml.org/2001/03/daml+oil-index.html 2016/7/1 44 DAML+OIL (www.daml.org) It builds on earlier W3C standards such as RDF and RDF Schema. DAML extends RDF and RDFS with richer modelling primitives. disjointWith, intersectionOf, oneOf, cardinality Able to provide properties of properties uniqueness, transitivity, etc. 2016/7/1 45 DAML+OIL substrate: Description Logics 2016/7/1 Classes are defined in terms of other classes/relations Relations are first class citizens Powerful inference algorithms: Subsumption: is classA a subclass of classB given their definitions? Recognition: is instanceA of classA? Classification: automatic reorganization of class hierarchy based on definitions of classes 46 An Example (from www.daml.org) <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:daml="http://www.daml.org/2000/12/daml+oil#" xmlns ="http://www.daml.org/2000/12/daml+oil-ex#" > Start of <daml:Ontology about=“”> <daml:versionInfo>An example ontology</daml:versionInfo> an ontology (about = “” implies ‘this’ document) <rdfs:Class rdf:ID="Animal"> The label is not <rdfs:label>Animal</rdfs:label> <rdfs:comment> This class of animals is illustrative of a number of ontological idioms. </rdfs:comment> </rdfs:Class> used for logical interpretation <rdfs:Class rdf:ID="Male"> <rdfs:subClassOf rdf:resource="#Animal"/> </rdfs:Class> <rdfs:Class rdf:ID="Female"> <rdfs:subClassOf rdf:resource="#Animal"/> <daml:disjointWith rdf:resource="#Male"/> </rdfs:Class> <rdfs:Class rdf:ID="Man"> <rdfs:subClassOf rdf:resource="#Person"/> <rdfs:subClassOf rdf:resource="#Male"/> </rdfs:Class> 2016/7/1 Can explicitly specify the set of Females to be disjoint with the set of Males The Person class is defined later To be read conjunctively. A man is a sub-class of ‘Person’ and a ‘Male’ 47 Example (contd..) <rdfs:Class rdf:ID="Woman"> <rdfs:subClassOf rdf:resource="#Person"/> <rdfs:subClassOf rdf:resource="#Female"/> </rdfs:Class> <rdf:ObjectProperty rdf:ID="hasParent"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/> </rdf:ObjectProperty> An objectProperty relates objects to objects Describes the element which encloses this Property Describes the value of the Property <rdf:ObjectProperty rdf:ID="hasFather"> <rdfs:subPropertyOf rdf:resource="#hasParent"/> <rdfs:range rdf:resource="#Male"/> </rdf:ObjectProperty> Note: Contrary to RDF, DAML takes the ‘intersection’ of the domains/ranges if multiple domains/ranges are specified A datatype property relates an object to a primitive datatype value <daml:DatatypeProperty rdf:ID="age"> <rdfs:range rdf:resource="http://www.w3.org/2000/10/XMLSchema#nonNegativeInteger"/> </daml:DatatypeProperty <rdfs:Class rdf:ID="Person"> <rdfs:subClassOf rdf:resource="#Animal"/> <rdfs:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="#hasParent"/> <daml:toClass rdf:resource="#Person"/> </daml:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <daml:Restriction daml:cardinality="1"> <daml:onProperty rdf:resource="#hasFather"/> </daml:Restriction> </rdfs:subClassOf> </rdfs:Class> 2016/7/1 The XML Schema datatype is referenced here The Restriction defines an anonymous class of all things that satisfy the restriction. Restrictions on the property hasParent (only for the Person class – Local scope, as opposed to rdfs:range) A person can have only another Person as it’s parent A Person can have only 1 Father 48 Example (contd..) <rdfs:Class rdf:about="#Animal"> <rdfs:subClassOf> <daml:Restriction daml:cardinality="2"> <daml:onProperty rdf:resource="#hasParent"/> </daml:Restriction> </rdfs:subClassOf> </rdfs:Class> <rdfs:Class rdf:about="#Person"> <rdfs:subClassOf> <daml:Restriction daml:maxcardinality="1"> <daml:onProperty rdf:resource="#hasSpouse"/> </daml:Restriction> </rdfs:subClassOf> </rdfs:Class> Addition to the Animal Class without modifying it -- “about” Restrictions on the property hasParent An animal can have exactly 2 parents Restrictions on the property hasSpouse A person can have only 1 spouse Further constructs that the example doesn’t use : Properties: TransitiveProperty (hasAncestor), UniqueProperty (hasMother), inverseOf(hasChild -> hasParent), etc. Classes: intersectionOf (a daml:collection), unionOf (a daml:collection), sameClassAs, complementOf, etc. 2016/7/1 49 DAML References/Tools DAML Viewer: It provides a means to view the instances found in a DAML document. http://www.daml.org/viewer/applet.html DAML Crawler Results: A list of .daml files on the internet http://www.daml.org/crawler/pages.html A DAML Validator http://www.daml.org/validator/ A DAML example explained: It has the same example as in the slides, discussed in detail. http://www.daml.org/2001/03/daml+oil-walkthru.html 2016/7/1 50 2016/7/1 51 Putting semantics on the web 2016/7/1 52 (and making it machine-readable) 2016/7/1 53 2016/7/1 54 Event:title <daml:ObjectProperty rdf:ID="photograph"> <rdfs:domain rdf:resource="#Picture"/> <rdfs:range rdf:resource= …#person"/> </daml:ObjectProperty> Event:WebPage < > rdf:type photo:Photograph, Photo:File http://…/images#image1, Photo:topic :event1#event:speaker. Event1 a Event:event; date “May 7-11”, speaker http://…#timbl.html Title “WWW 2002…” TimBL rdf:type w3c-ont:person; name “Tim Berners-Lee” … 2016/7/1 <s:Class rdf:about="http://www.semanticweb.org/o ntologies/swrc-onto-2000-0910.daml#Conference"> <s:comment> describes a generic conceptabout events </s:comment> <s:subClassOf rdf:resource="http://www.semanticweb.or g/ontologies/swrc-onto-2000-0910.daml#Event"/> <a:disjointFrom rdf:resource="http://www.semanticweb.or g/ontologies/swrc-onto-2000-0910.daml#Workshop"/> <a:restrictedBy rdf:resource="http://www.semanticweb.or g/ontologies/swrc-onto-2000-0910.daml#genid18"/> <rdf:Description rdf:about="http://www.w3.org/2001/03/earl/0.95#Person"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:subClassOf rdf:resource="http://www.w3.org/2001/03/earl/0.95#Assertor"/> </rdf:Description> 55 Real examples Examples from http://dormouse.cs.umd.edu:8080/wiki/cmsc4 98wiki.wiki Students violated every rule in the KR book Extended existing ontologies Linked instances directly to terms from multiple ontologies Mixed “real KR” and NL We can learn from their lessons http://dormouse.cs.umd.edu:8080/wiki/assi 2016/7/1 56 gnment1_collected_les.wiki Services off the desktop 2016/7/1 57 Or perhaps on different desktops… 2016/7/1 58 Web Agents need Service Descriptions 2016/7/1 59 Semantic Web Service Description - <daml:Class rdf:ID="CreateAcct"> <rdfs:subClassOf rdf:resource="http://www.daml.org/services/damls/2001 /10/Process.daml#AtomicProcess" /> - <rdfs:subClassOf> - <daml:Restriction daml: cardinality="1"> <daml:onProperty rdf:resource="#createAcctInfo" /> </ daml:Restriction> </ rdfs:subClassOf> - <rdfs:subClassOf> - <daml:Restriction daml: cardinality="1"> <daml:onProperty rdf:resource="#createAcctOutput" /> </ daml:Restriction> </ rdfs:subClassOf> </ daml:Class> - <rdf:Property rdf:ID="createAcctInf o"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/damls/2001 /10/Process.daml#input" /> <rdfs:domai n rdf:resource="#CreateAcct" /> <rdfs:range rdf:resource="#AcctInf o" /> </ rdf:Property> - <rdf:Property rdf:ID="createAcctOutput"> <rdfs:subPropertyOf rdf:resource="http://www.daml.org/services/damls/2001 /10/Process.daml#output" /> <rdfs:domai n rdf:resource="#CreateAcct" /> <rdfs:range rdf:resource="#CreateAcctOutputType" /> </ rdf:Property> 2016/7/1 60 Use Semantics for Composition Translate my symptoms from French and find me a pharmacy that has the necessary medicine (then compute how to get there and print the directions) 2016/7/1 Print the directions to a pharmacy which has a medicine that cures the symptoms that I will tell you (in French) 61 Or, translate to Planning Operators - <daml:Class rdf:ID="DeliveryType"> - <daml:oneOf rdf:parseType="daml:collection"> Ź <DeliveryType rdf:ID="FedExOneDay" /> Ź <DeliveryType rdf:ID="FedEx2-3day" /> Ź <DeliveryType rdf:ID="UPS" /> Ź <DeliveryType rdf:ID="Ordin aryMail" /> Ź </ daml:oneOf> Ź </ daml:Class> The atomic process ŅSpecifyDeliveryD etailsÓ can be transla ted into a SH OP2 operator with cor responding pr econd itions as follows: (:operator (!SpecifyDeliveryDetails ?deli veryAddress ?pa ckagingSelection ?deliveryTypeSelection) ((not (same ?deliveryAdd ress ni l)) (not (same ?packagingSelection nil)) (not (same ?deli veryTypeSelection nil)) (eval (stringp ?del iveryAdd ress)) (eval (member ‘?packagingSelection ‘(Gif twrap Ordinary))) (eval (member ‘?deliveryTypeSelection ‘(FedExOneDay FedEx23day UPS OrdinaryMail)))) () ()) 2016/7/1 62 For goal-based service composition 2016/7/1 Buy the French version of a book from amazon.fr and have it sent to Mom’s address 63 Services need Web Logics 2016/7/1 64 Web of Trust Claims can be verified if there is supporting evidence from another (trusted) source We only believe that someone is a professor at a university if the university also claims that person is a professor, and the university is on a list I trust. believe(c1) :- claims(x, c1) ^ predicate(c1, professorAt) ^ arg1(c1, x) ^ arg2(c1, y) ^ claims(c2, y) ^ predicate(c2, professorAt) ^ arg1(c2, x) ^ arg2(c2, y) ^ AccreditedUniversity(y) AcknowledgedUniversity(u) :- link-from(“http://www.cs.umd.edu/university-list”,u) Notice this one 2016/7/1 65 Distributed Trust 2016/7/1 66 Conclusion Semantic Web = Meaning for the Machines To do this the machines have to agree on a common language Name spaces Ontologies Inferences Layers: XML RDF OWL, DAML, OIL 2016/7/1 67