1 / 59

Markup Languages in Semantic Web and Research of Semantic Web at Tatung Univ.

Markup Languages in Semantic Web and Research of Semantic Web at Tatung Univ. Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University chingyeh@cse.ttu.edu.tw httP://www.cse.ttu.edu.tw/chingyeh. Outline. Introduction to the Semantic Web

armina
Download Presentation

Markup Languages in Semantic Web and Research of Semantic Web at Tatung Univ.

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. Markup Languages in Semantic Web andResearch of Semantic Web at Tatung Univ. Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University chingyeh@cse.ttu.edu.tw httP://www.cse.ttu.edu.tw/chingyeh

  2. Outline • Introduction to the Semantic Web • Some Markup Languages in the Semantic Web • RDF(S) • DAML(-S) • The Big Picture of the Semantic Web • An Architecture of RDF Triple Data Store • An RDF Parser in Prolog • The Repository storage • APIs and User Interface • Semantic Community Portal • Conclusions Semantic Web Research at Tatung

  3. Sources • Part of the slides are selected from the following sources: • Knowledge Markup and Resource Semantics, By Harold Boley, Stefan Decker, and Michael Sintek, IJCAI-01 Tutorial, http://www.ijcai-01.org/ • Anupriya Ankolenkar, et al., “DAML-S: Semantic Markup For Web Services,”, Proceedings of SWWS’ 01, the First Semantic Web Working Symposium, California, USA, July 30 - August 1, 2001. Semantic Web Research at Tatung

  4. Introduction to Semantic Web • Facilities to put machine-understandable data on the Web are becoming a high priority for many communities. • The Web can reach its full potential only if it becomes a place where data can be shared and processed by automated tools as well as by people. • For the Web to scale, tomorrow's programs must be able to share and process data even when these programs have been designed totally independently. Semantic Web Research at Tatung

  5. Introduction to Semantic Web • The Semantic Web is a vision: the idea of having data on the web defined and linked in a way that it can be used by machines not just for display purposes, but for automation, integration and reuse of data across various applications. • See “W3C Semantic Web Activity,” by Marja-Riitta Koivunen, for more descriptions. Semantic Web Research at Tatung

  6. The Semantic Web Layered Architecture Tim Berners-Lee: “Axioms, Architecture and Aspirations” W3C all-working group plenary Meeting 28 February 2001 (http://www.w3.org/2001/Talks/0228-tbl/slide5-0.html) Semantic Web Research at Tatung

  7. Increasing demand for formalized knowledge on the Web: AI’s chance! XML- & RDF-based markup languages provide a 'universal' storage/interchange format for such Web-distributed knowledge representation. AI’s Chance Namespaces CSS DTDs XSLT DAML Stylesheets Agents Transformations Ontobroker XQL XML HornML Rules Queries XQuery RuleML XML-QL SHOE RDF[S] Frames Acquisition TopicMaps Protégé Semantic Web Research at Tatung

  8. Introduction to RDF • RDF (Resource Description Framework) • Beyond Machine readable to Machine understandable • RDF unites a wide variety of stakeholders: • Digital librarians, content-raters, privacy advocates, B2B industries, AI... • Significant (but less than XML) industrial momentum, lead by W3C • RDF consists of two parts • RDF Model (a set of triples) • RDF Syntax (different XML serialization syntaxes) • RDF Schema for definition of Vocabularies (simple Ontologies) for RDF (and in RDF) Knowledge Markup and Resource Semantics, By Harold Boley, Stefan Decker, and Michael Sintek, IJCAI-01 Tutorial, http://www.ijcai-01.org/

  9. RDF Data Model • Resources • A resource is a thing you talk about (can reference) • Resources have URI’s • RDF definitions are themselves Resources (linkage, see requirement 1) • Properties • slots, define relationships to other resources or atomic values • Statements • “Resource has Property with Value” • (Values can be resources or atomic XML data) • Similar to Frame Systems Semantic Web Research at Tatung

  10. Ora Lassila A Simple Example • Statement • “Ora Lassila is the creator of the resource http://www.w3.org/Home/Lassila” • Structure • Resource (subject) http://www.w3.org/Home/Lassila • Property (predicate) http://www.schema.org/#Creator • Value (object) "Ora Lassila” • Directed graph s:Creator http://www.w3.org/Home/Lassila Semantic Web Research at Tatung

  11. Another Example • To add properties to Creator, point through an intermediate Resource. http://www.w3.org/Home/Lassila s:Creator Person://fi/654645635 Name Email Ora Lassila lassila@w3.org Semantic Web Research at Tatung

  12. Collection Containers • Multiple occurrences of the same PropertyType don’t establish a relation between the values • The Millers own a boat, a bike, and a TV set • The Millers need (a car or a truck) • (Sarah and Bob) bought a new car • RDF defines three special Resources: • Bag unordered valuesrdf:Bag • Sequence ordered values rdf:Seq • Alternative single valuerdf:Alt • Core RDF does not enforce ‘set’ semantics amongst values Semantic Web Research at Tatung

  13. /courses/6.001 Example: Bag • The students incourse 6.001 are Amy, Tim,John, Mary,and Sue Rdf:Bag rdf:type /Students/Amy students rdf:_1 rdf:_2 /Students/Tim bagid1 rdf:_3 /Students/John rdf:_4 /Students/Mary rdf:_5 /Students/Sue Semantic Web Research at Tatung

  14. Example: Alternative • The source code for X11 may be found at ftp.x.org, ftp.cs.purdue.edu, or ftp.eu.net http://x.org/package/X11 rdf:Alt rdf:type source altid rdf:_1 ftp.x.org rdf:_2 ftp.cs.purdue.edu rdf:_3 ftp.eu.net Semantic Web Research at Tatung

  15. Statements About Statements • Making statements about statements requires a process for transforming them into Resources • subject the original resource • predicate the original property • object the original value • type rdf:Statement Semantic Web Research at Tatung

  16. Statements About Statements Ralph Swick says that Ora Lassila is the creator of the resource http://www.w3.org/Home/Lassila. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:a="http://description.org/schema/"> <rdf:Description> <rdf:subject resource="http://www.w3.org/Home/Lassila" /> <rdf:predicate resource="http://description.org/schema/Creator" /> <rdf:object>Ora Lassila</rdf:object> <rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement" /> <a:attributedTo>Ralph Swick</a:attributedTo> </rdf:Description> </rdf:RDF> Semantic Web Research at Tatung

  17. Representation of a reified statement Ora Lasilla http://www.w3.org/Home/Lassila rdf:object rdf:subject rdf:predicate rdf:type rdf:Statement s:Creator a:attributedTo Ralph Swick Semantic Web Research at Tatung

  18. Statements About Statements <rdf:RDF> <rdf:Description about="http://www.w3.org/Home/Lassila" bagID="D_001"> <s:Creator>Ora Lassila</s:Creator> <s:Title>Ora's Home Page</s:Title> </rdf:Description> <rdf:Description aboutEach="#D_001"> <a:attributedTo>Ralph Swick</a:attributedTo> </rdf:Description> </rdf:RDF> Semantic Web Research at Tatung

  19. A Formal Model of RDF • RDF itself is mathematically straightforward: • Basic Definitions • Resources. • PropertiesResources • Literals • Statements = Properties  Resources  {Resources  Literals} • Typing • rdf:type  Properties • {RDF:type, sub, obj}  Statements  obj  Resources • for triples like {p,r1,r2} the RDF spec should use some different bracketing, like (p,r1,r2) Semantic Web Research at Tatung

  20. Formal Model of RDF II • Reification • rdf:Statement  Resource-Properties • {rdf:predicate, rdf:subject, rdf:object }  Properties • Reification of a triple {pred, sub, obj} of Statements is an element r of Resources representing the reified triple and the elements s1, s2, s3, and s4 of Statements such that • s1: {RDF:predicate, r, pred} • s2: {RDF:subject, r, sub} • s3: {RDF:object, r, obj} • s4: {RDF:type, r, [RDF:Statement]} • Collections • { RDF:Seq, RDF:Bag, and RDF:Alt }  Resources-Properties • There is a subset of Properties corresponding to the ordinals (1, 2, 3, ...) called Ord. We refer to • elements of Ord as RDF:_1, RDF:_2, RDF:_3, ... Semantic Web Research at Tatung

  21. RDF Syntax I • Data model does not enforce particular syntax • Specification suggests many different syntaxes based on XML • General form: Subject (OID) Starts an RDF-Description <rdf:RDF> <rdf:Description about="http://www.w3.org/Home/Lassila"> <s:Creator>Ora Lassila</s:Creator> <s:createdWith rdf:resource=“http://www.w3c.org/amaya”/> </rdf:Description> </rdf:RDF> Literal Resource (possibly another RDF-description) Properties Semantic Web Research at Tatung

  22. Resulting Graph http://www.w3.org/Home/Lassila s:createdWith s:Creator http://www.w3c.org/amaya Ora Lassila <rdf:RDF> <rdf:Description about="http://www.w3.org/Home/Lassila"> <s:Creator>Ora Lassila</s:Creator> <s:createdWith rdf:resource=“http://www.w3c.org/amaya”/> </rdf:Description> </rdf:RDF> Semantic Web Research at Tatung

  23. RDF Syntax II: Syntactic Varieties Typing Information Subject (OID) In-Element Property <s:Homepage rdf:about="http://www.w3.org/Home/Lassila” s:Creator=“Ora Lassila”/> <s:createdWith> <s:HTMLEditor rdf:about=“http://www.w3c.org/amaya”/> </s:createdWith> </s:Homepage> rdf:type s:Homepage http://www.w3.org/Home/Lassila Property s:createdWith s:Creator rdf:type HTMLEditor http://www.w3c.org/amaya Ora Lassila

  24. RDF Schema

  25. RDF Schema (RDFS) • RDF just defines the data model • Need for definition of vocabularies for the data model - an Ontology Language! • The RDF Schema mechanism provides a basic type system for use in RDF models. • The RDF schema specification language is less expressive, but much simpler to implement, than full predicate calculus languages such as CycL and KIF. Semantic Web Research at Tatung

  26. Most Important Modeling Primitives • Core Classes • Root-Class rdfs:Resource • MetaClass rdfs:Class • Literals rdfs:Literal • rdfs:subclassOf-property • Inherited from RDF: properties (slots) • rdfs:domain & rdfs:range • rdfs:label, rdfs:comment, etc. • Inherited from RDF: InstanceOf (rdf:type) Semantic Web Research at Tatung

  27. Classes and Properties Resources Property • rdf:type • rdfs:subClassOf • rdfs:subPropertyOf • rdfs:comment • rdfs:label • rdfs:seeAlso • rdfs:isDefinedBy Classes • rdfs:Resource • rdfs:Class • rdf:Property • rdfs:ConstraintProperty • rdfs:Literal ConstraintProperty • rdfs:domain • rdfs:range Classes and Resources as Sets and Elements

  28. DARPA Agent Markup LanguageDAML

  29. DARPA Agent Markup Language Program • DARPA funded Research Program (also funded the Development of the ARPANNET -> Internet) • Focusing on building the foundation for the Semantic Web: http://www.daml.org • Ontology Language DAML+OIL: Result of a Joint (European + US-American) Committee • Rule Language in preparation Semantic Web Research at Tatung

  30. DAML+OIL • Extension of RDF Schema • Ontology Language DAML+OIL: Result of a Joint (European + US-American) Committee • Extension of RDF Schema • Class Expressions (Intersection, Union, Complement) • XML Schema Datatypes • Enumerations • Property Restrictions • Cardinality Constraints • Value Restrictions Semantic Web Research at Tatung

  31. Example: Intersection & Synonyms <daml:Class rdf:ID="TallMan"> <daml:intersectionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#TallThing"/> <daml:Class rdf:about="#Man"/> </daml:intersectionOf> </daml:Class> <daml:Class rdf:ID="HumanBeing"> <daml:sameClassAs rdf:resource="#Person"/> </daml:Class> Semantic Web Research at Tatung

  32. Example: Disjoint & Complement <daml:Disjoint rdf:parseType="daml:collection"> <daml:Class rdf:about="#Car"/> <daml:Class rdf:about="#Person"/> <daml:Class rdf:about="#Plant"/> </daml:Disjoint> Disjoint not strictly necessary, since expressible via pairwise subClassOf of complementOf, as for Car and Person: <daml:Class rdf:ID="Car"> <rdfs:comment>no car is a person</rdfs:comment> <rdfs:subClassOf> <daml:Class> <daml:complementOf rdf:resource="#Person"/> </daml:Class> </rdfs:subClassOf> </daml:Class> Semantic Web Research at Tatung

  33. Example: Properties (Transitive, Inverse, subProperty, UniqueProperty, range, Datatypes) <daml:TransitiveProperty rdf:ID="hasAncestor"/> <daml:ObjectProperty rdf:ID="hasChild"> <daml:inverseOf rdf:resource="#hasParent"/> </daml:ObjectProperty> <daml:UniqueProperty rdf:ID="hasMother"> <rdfs:subPropertyOf rdf:resource="#hasParent"/> <rdfs:range rdf:resource="#Female"/> </daml:UniqueProperty> <daml:DatatypeProperty rdf:ID="age"> <rdf:type rdf:resource="http://www.daml.org/2001/03/daml+oil#UniqueProperty"/> <rdfs:range rdf:resource="http://www.w3.org/.../XMLSchema#nonNegativeInteger"/> </daml:DatatypeProperty> Semantic Web Research at Tatung

  34. Using User-defined Datatypes(based on XML Schema) <xsd:simpleType name="over17"> <!--over17 is an XMLS datatype based on decimal--> <!--with the added restriction that values must be >=18--> <xsd:restriction base="xsd:decimal"> <xsd:minInclusive value="18"/> </xsd:restriction> </xsd:simpleType> <daml:Class rdf:ID="Adult"> <daml:intersectionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#Person"/> <daml:Restriction> <daml:onProperty rdf:resource="#age"/> <daml:hasClass rdf:resource="somefile#over17"/> </daml:Restriction> </daml:intersectionOf> </daml:Class> Semantic Web Research at Tatung

  35. Instances (Individuals) <daml:Class rdf:ID="Person"> . . . </daml:Class> <Person rdf:ID="Adam"> <rdfs:label>Adam</rdfs:label> <rdfs:comment>Adam is a person.</rdfs:comment> <age><xsd:integer rdf:value="13"/></age> <shoesize> <xsd:decimal rdf:value="9.5"/> </shoesize> </Person> Semantic Web Research at Tatung

  36. Semantic Web Services Source: Anupriya Ankolenkar, et al., “DAML-S: Semantic Markup For Web Services,”, Proceedings of SWWS’ 01, the First Semantic Web Working Symposium, California, USA, July 30 - August 1, 2001

  37. Web Services Semantic Web Research at Tatung

  38. What Is DAML-S • Users and software agents should be able to discover, invoke, compose, and monitor Web resources offering particular services and having particular properties. • As part of the DARPA Agent Markup Language program, we have begun to develop an ontology of services, called DAML-S. Semantic Web Research at Tatung

  39. Some Motivating Tasks • Automatic Web service discovery • Automatic Web service invocation • Automatic Web service composition and interoperation • Automatic Web service execution monitoring Semantic Web Research at Tatung

  40. Top Level of the Service Ontology Resource provide ServiceProfile presents (what it does) Service (how it works) (how to access it) supports describedBy ServiceGrounding ServiceModel Semantic Web Research at Tatung

  41. Process Modeling Ontology Semantic Web Research at Tatung

  42. The Big Picture of SW

  43. Editing and Annotation Tools • Protégé-2000 • OntoEdit • OilED • Amaya Semantic Web Research at Tatung

  44. An Architecture of RDF Triple Data Store

  45. RDF Parser and Generator • Using DCG in Prolog as the development tool • Formal grammar in RDF M&S Spec http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/#grammar Formal grammar rules in DCG Prolog’s working storage Prolog’s inference engine User interface Semantic Web Research at Tatung

  46. [6.1] RDF ::= ['<rdf:RDF>'] obj* ['</rdf:RDF>'] [6.2] obj ::= description | container [6.3] description ::= '<rdf:Description' idAboutAttr? bagIdAttr? propAttr* '/>' | '<rdf:Description' idAboutAttr? bagIdAttr? propAttr* '>' propertyElt* '</rdf:Description>' | typedNode [6.4] container ::= sequence | bag | alternative rdf(Objs) --> (['<?'], ([nm/'xml'];[nm/'XML']; [nm/'xmls'];[nm/'XMLS']), ([nm/'version','=',qs/_];[]), ([nm/'encoding','=',qs/_];[]), ['?>'],{wl('XML heading')} ;[]), (fullSTG('RDF',NS) ; halfSTG('RDF',NS), ['>'] ; [ ]), objStar(Objs), (fullETG('RDF',NS);[ ]). objStar(Out) --> obj(O), objStar(R),{Out=[O|R]} ; [],{Out=[]}. obj(Obj) --> container(Obj) ; description(_),{getAllTriples(Obj)}. getAllTriples(Obj):- findall(statement(A,B,C),statement(A,B,C),Obj). description(_) --> halfSTG('Description',NS), (idAboutAttr(IdAboutAttr);[]), (bagIdAttr(BagIdAttr);[]), propAttrStar(IdAboutAttr), (['/>'] ; ['>'], propertyEltStar(IdAboutAttr), fullETG('Description',NS)), {reificationOfStatements(IdAboutAttr,BagIdAttr)} ; typedNode.

  47. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/metadata/dublin_core#"> <rdf:Description about="http://www.foo.com/cool.html"> <dc:Creator> <rdf:Seq ID="CreatorsAlphabeticalBySurname"> <rdf:li>Mary Andrew</rdf:li> <rdf:li>Jacky Crystal</rdf:li> </rdf:Seq> </dc:Creator> <dc:Identifier> <rdf:Bag ID="MirroredSites"> <rdf:li rdf:resource="http://www.foo.com.au/cool.html"/> <rdf:li rdf:resource="http://www.foo.com.it/cool.html"/> </rdf:Bag> </dc:Identifier> <dc:Title> <rdf:Alt> <rdf:li xml:lang="en">The Coolest Web Page</rdf:li> <rdf:li xml:lang="it">Il Pagio di Web Fuba</rdf:li> </rdf:Alt> </dc:Title></rdf:Description></rdf:RDF> RDF input [statement(about/http://www.foo.com/cool.html, Title, alt(_87882,[string/The Coolest Web Page, string/Il Pagio di Web Fuba])), statement(about/http://www.foo.com/cool.html, Identifier, bag(id/MirroredSites,[resource/http://www.foo.com.au/cool.html, resource/http://www.foo.com.it/cool.html])), statement(about/http://www.foo.com/cool.html, Creator, seq(id/CreatorsAlphabeticalBySurname,[string/Mary Andrew, string/Jacky Crystal]))] Prolog output

  48. RDF Statements in RDB Tables RDF_NameSpace RDF_Resource RDF_Statement RDF_Predicate RDF_Literal

  49. Application Program Interfaces • RDF Query language is syntactically verbose. <rdfquery> <rdfq:From> <rdf:Bag> <li resource="http://www.research.ibm.com/people/ashok/paper1.html"/> <li resource="http://www.research.ibm.com/people/ashok/paper3.html"/> <li resource="http://www.research.ibm.com/people/neel/paper1.html"/> <li resource="http://www.research.ibm.com/people/neel/paper7.html"/> </rdf:Bag> </rdfq:From> </rdfquery> Selecting all resources from a collection Semantic Web Research at Tatung

  50. Application Program Interfaces • We propose a set of frame-based APIs for programmers to access the RDF repository. get_frame - retrieves attribute values for a frame add_frame - adds or updates attribute values for a frame del_frame - deletes attribute values from a frame Semantic Web Research at Tatung

More Related