Title: Semantic Web Portal
1Semantic Web Portal
- Ching-Long Yeh ???
- Department of Computer Science and Engineering
- Tatung University
- chingyeh_at_cse.ttu.edu.tw
- http//www.cse.ttu.edu.tw/chingyeh
2Outline
- A brief description to the Semantic Web Portal
- Architectural basis of the Semantic Web
- KA2 an ontology-based web portal
- An architecture of RDF triple data store
- Conclusions
3Introduction 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.
4Introduction 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.
5The Semantic Web Layered Architecture
Trust
Sig
Proof
Tim Berners-Lee Axioms, Architecture and
Aspirations W3C all-working group plenary
Meeting 28 February 2001
Logic
Rules
Ontology
RDF Schema
(http//www.w3.org/2001/Talks/0228-tbl/slide5-0.ht
ml)
RDF MS
XML Schema
XML
Namespaces
URI
Unicode
6AIs Chance
Namespaces
CSS
- Increasing demand for formalized knowledge on
the Web AIs chance! - XML- RDF-based markup languages provide a
'universal' storage/interchange format for such
Web-distributed knowledge representation.
DTDs
XSLT
Stylesheets
DAML
Agents
Transformations
Ontobroker
XQL
XML
HornML
Rules
Queries
RuleML
XQuery
XML-QL
SHOE
RDFS
Frames
Acquisition
TopicMaps
Protégé
7The Big Picture of SW
8Web Portals
- A web portal is a web site that provides
information content on a common topic. - General portals, e.g., Yahoo, Excite, Netscape,
Lycos, CNET, MSN, and AOL.com - Specialized portal e.g., gardeners.com,
semanticweb.org - Making valuable information to be found
- directory service,
- search facility
- news, e-mail,
- community forum
9What is a portal?
- In it's simplest form a portal is a filter for
web content - a place from which users can locate
all the Web resources that they commonly need. - Good portals are very successful at building
online communities by bringing like-minded people
together in one place. - As these communities are created, portal owners
strive to offer a broader range of additional
services in an attempt to hold on to their
audiences for as long as possible.
10What is a Subject Portal?
- A Subject Portal could also be described as a
'vertical portal'. - Rather than a gateway to all Web content, a
subject portal presents a tailored view of the
Web within a common subject area. - From an academic perspective, the desire for
detail and depth is far too great and the desired
information far too hidden, for conventional
portal services to satisfy these communities.
11Ontology-Based Web Portals
- Ontology represents
- common knowledge and interests sharing within
their community - Tasks that ontology can be used to support a
portal - Accessing a portal
- Conceptual search and navigation
- Inference capabilities
- Providing information
- Methods and tools accounting for the diversity of
information sources
12Introduction to XML-Based Ontology
13What is XML?
- Extensible Markup Language
- A Syntax for Documents
- A Meta-Markup Language
- A Structural and Semantic Language, not a
Formatting Language - Not just for Web pages
14Namespace Bindings
- Prefixes are bound to namespace URIs by attaching
an xmlnsprefix attribute to the prefixed element
or one of its ancestors, prefixname1 ,...,
prefixnamen - The value of the xmlnsprefix attribute is a URI,
which may or (unlike for DTDs!) may not point to
a description of the namespaces syntax - An element can use bindings for multiple
name-spaces via attributes xmlnsprefix1 ,...,
xmlnsprefixm
15XML Document Instance and DTD
ltmailaddress xmlnsmail"http//www.deutschepost.
de/" xmlnstele"http//www.telekom.
de/"gt ltmailnamegtXaver M. Lindelt/mailnamegt
ltmailstreetgtWikingerufer 7lt/mailstreetgt
ltmailtowngt10555 Berlinlt/mailtowngt
ltmailbillgt12.50lt/mailbillgt
lttelephonegt030/1234567lt/telephonegt
lttelephonegt030/1234568lt/telephonegt
lttelefaxgt030/1234569lt/telefaxgt
lttelebillgt76.20lt/telebillgt lt/ mailaddressgt
lt!ELEMENT address (name, street, town,
bill, phone, fax,
bill)gt lt!ELEMENT name (PCDATA)gt lt!ELEMENT street
(PCDATA)gt lt!ELEMENT town (PCDATA)gt lt!ELEMENT
bill (PCDATA)gt lt!ELEMENT phone
(PCDATA)gt lt!ELEMENT fax (PCDATA)gt lt!ELEMENT
ARTIST (PCDATA)gt
16XML Schema
- An XML syntax that's an alternative and/or
supplement to DTDs - Data typing of element and attribute content
17RDF MS
- RDF (Resource Description Framework)
- Beyond Machine readable to Machine understandable
- 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)
18RDF Data Model
- Resources
- A resource is a thing you talk about (can
reference) - Resources have URIs
- 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
19A 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/Las
sila - Property (predicate) http//www.schema.org/Cre
ator - Value (object) "Ora Lassila
- Directed graph
sCreator
http//www.w3.org/Home/Lassila
20Another Example
- To add properties to Creator, point through an
intermediate Resource.
http//www.w3.org/Home/Lassila
sCreator
Person//fi/654645635
Email
Name
Ora Lassila
lassila_at_w3.org
21Example Bag
- The students incourse 6.001 are Amy, Tim,John,
Mary,and Sue
RdfBag
rdftype
/Students/Amy
students
rdf_1
rdf_2
/Students/Tim
bagid1
rdf_3
/Students/John
rdf_4
/Students/Mary
rdf_5
/Students/Sue
22Example 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
rdfAlt
rdftype
source
altid
rdf_1
ftp.x.org
rdf_2
ftp.cs.purdue.edu
rdf_3
ftp.eu.net
23RDF 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
ltrdfRDFgt ltrdfDescription about"http//www.w3.
org/Home/Lassila"gt ltsCreatorgtOra
Lassilalt/sCreatorgt ltscreatedWith
rdfresourcehttp//www.w3c.org/amaya/gt
lt/rdfDescriptiongt lt/rdfRDFgt
Literal
Resource (possibly another RDF-description)
Properties
24Resulting Graph
http//www.w3.org/Home/Lassila
screatedWith
sCreator
http//www.w3c.org/amaya
Ora Lassila
ltrdfRDFgt ltrdfDescription about"http//www.w3.
org/Home/Lassila"gt ltsCreatorgtOra
Lassilalt/sCreatorgt ltscreatedWith
rdfresourcehttp//www.w3c.org/amaya/gt
lt/rdfDescriptiongt lt/rdfRDFgt
25RDF Syntax II Syntactic Varieties
Typing Information
Subject (OID)
In-Element Property
ltsHomepage rdfabout"http//www.w3.org/Home/Lass
ila
sCreatorOra Lassila/gt ltscreatedWithgt
ltsHTMLEditor rdfabouthttp//www.w3c.org/a
maya/gt lt/screatedWithgt lt/sHomepagegt
rdftype
sHomepage
http//www.w3.org/Home/Lassila
Property
screatedWith
sCreator
rdftype
HTMLEditor
http//www.w3c.org/amaya
Ora Lassila
26RDF 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.
27Most Important Modeling Primitives
- Core Classes
- Root-Class rdfsResource
- MetaClass rdfsClass
- Literals rdfsLiteral
- rdfssubclassOf-property
- Inherited from RDF properties (slots)
- rdfsdomain rdfsrange
- rdfslabel, rdfscomment, etc.
- Inherited from RDF InstanceOf (rdftype)
28DAMLOIL an Ontology Language
- Extension of RDF Schema
- Ontology Language DAMLOIL 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
29Example Intersection Synonyms
ltdamlClass rdfID"TallMan"gt ltdamlintersection
Of rdfparseType"damlcollection"gt
ltdamlClass rdfabout"TallThing"/gt
ltdamlClass rdfabout"Man"/gt
lt/damlintersectionOfgt lt/damlClassgt
ltdamlClass rdfID"HumanBeing"gt ltdamlsameClassA
s rdfresource"Person"/gt lt/damlClassgt
30Example Disjoint Complement
ltdamlDisjoint rdfparseType"damlcollection"gt lt
damlClass rdfabout"Car"/gt ltdamlClass
rdfabout"Person"/gt ltdamlClass
rdfabout"Plant"/gt lt/damlDisjointgt
Disjoint not strictly necessary, since
expressible via pairwise subClassOf of
complementOf, as for Car and Person
ltdamlClass rdfID"Car"gt ltrdfscommentgtno car
is a personlt/rdfscommentgt ltrdfssubClassOfgt lt
damlClassgt ltdamlcomplementOf
rdfresource"Person"/gt lt/damlClassgt
lt/rdfssubClassOfgt lt/damlClassgt
31Example Properties (Transitive, Inverse,
subProperty, UniqueProperty, range, Datatypes)
ltdamlTransitiveProperty rdfID"hasAncestor"/gt
ltdamlObjectProperty rdfID"hasChild"gt ltdamlinv
erseOf rdfresource"hasParent"/gt lt/damlObjectPr
opertygt
ltdamlUniqueProperty rdfID"hasMother"gt ltrdfssu
bPropertyOf rdfresource"hasParent"/gt ltrdfsran
ge rdfresource"Female"/gt lt/damlUniqueProperty
gt
ltdamlDatatypeProperty rdfID"age"gt ltrdftype
rdfresource"http//www.daml.org/2001/03/damloil
UniqueProperty"/gt ltrdfsrange
rdfresource"http//www.w3.org/.../XMLSchemanonN
egativeInteger"/gt lt/damlDatatypePropertygt
32Using User-defined Datatypes(based on XML Schema)
ltxsdsimpleType name"over17"gt lt!--over17 is an
XMLS datatype based on decimal--gt lt!--with the
added restriction that values must be gt18--gt
ltxsdrestriction base"xsddecimal"gt
ltxsdminInclusive value"18"/gt lt/xsdrestriction
gt lt/xsdsimpleTypegt
ltdamlClass rdfID"Adult"gt ltdamlintersectionOf
rdfparseType"damlcollection"gt ltdamlClass
rdfabout"Person"/gt ltdamlRestrictiongt ltda
mlonProperty rdfresource"age"/gt ltdamlhasCl
ass rdfresource"somefileover17"/gt
lt/damlRestrictiongt lt/damlintersectionOfgt
lt/damlClassgt
33Instances (Individuals)
ltdamlClass rdfID"Person"gt . .
. lt/damlClassgt
ltPerson rdfID"Adam"gt ltrdfslabelgtAdamlt/rdfsla
belgt ltrdfscommentgtAdam is a person.lt/rdfscomme
ntgt ltagegtltxsdinteger rdfvalue"13"/gtlt/agegt
ltshoesizegt ltxsddecimal rdfvalue"9.5"/gt lt/s
hoesizegt lt/Persongt
34Web Services
35DAML-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.
36Top Level of the Service Ontology
Resource
ServiceProfile
provides
presents
(what it does)
Service
(how it works)
(how to access it)
supports
described by
ServiceGrounding
ServiceModel
37Process Modeling Ontology
38Concept of ebXML Business Process Specification
Schema
39Business Process Specification in XML
40KA2 An Ontology-Based Community Web Portal
41KA2
- Knowledge Annotation Initiative of the Knowledge
Acquisition Community - The basic scenario
- WWW documents of the KS community were annotated
according to the schema of an ontology. - The annotations enable intelligent access to
these documents and infer implicit knowledge from
explicitly stated facts and rules from the
ontology.
42The KA2 Ontology
Person-ontology
Publication-ontology
Class hierarchy Person Employee
Academic-Staff Lecturer Researcher
Administrative-Staff Secretary
Technical-Staff Student
Phd-Student Relations Address, Affiliation,
Cooperates-With, Editor-Of,Email, First-Name,
Has-Publication, Head-Of-Group, Head-Of-Project,
Last-Name, Member-Of-Organization,
Member-Of-Program-Committee, Member-Of-Research-Gr
oup, Middle-Initial, Organizer-Of-Chair-Of,
Person-Name, Photo, Research-Interest,
Secretary-Of, Studies-At, Supervises, Supervisor,
Works-At-Project
Class hierarchy On-Line-Publication Publication
Article Article-In-Book Conference-Paper
Journal-Article Technical-Report
Workshop-Paper Book Journal IEEE-Expert
IJHCS Special-Issue Relations Abstract,
Book-Editor, Conference-Proceedings-Title,
Contains-Article-In-Book, Contains-Article-In-Jour
nal, Describes-Project, First-Page, Has-Author,
Has-Publisher, In-Book, In-Conference,
In-Journal, In-Organization, In-Workshop,
Journal-Editor, Journal-Number,
Journal-Publisher, Journal-Year, Last-Page,
On-Line-Version,
43Accessing the Community Web Portal
- Query capability
- In F-Logic mechanism
- Navigating capability
- As the easy-to-use front-end of the query
mechanism
44Query Capabilities
- For all publications of the researcher Steffen
Staab.
FORALL Pub lt- EXISTS ResID ResIDResearcherNAME-gt
gt Steffen "Staab"
PUBLICATION -gtgt Pub.
Two researchers cooperate, if a Researcher X
works at a Project Proj and if a Researcher Y
works at the same Project Proj and X is
another person than Y
FORALL X Y Proj XResearcherCOOPERATESWITH
-gtgt YResearcher lt- XResearcherWORKSATPROJECT
-gtgtProjProject AND YResearcherWORKSATPROJECT
-gtgtProjProject AND NOT equal(X Y )
Which researchers are cooperating with other r?
FORALL ResID1, ResID2 lt- ResID1ResearcherCOOPER
ATESWITH -gtgt ResID2.
45Navigating and Querying the Portal
- Query the portal using F-Logic is too
inconvenient. - Navigating and querying the web
- A hypertext link may contain a query dynamically
evaluated when clicking on the link (See P. 45) - Query generated by using the hyperbolic view
interface (See P. 46) - Queries may be personalized and for the different
users and available for the user in a selection
list. - An expert mode Querying the portal by typing an
F-Logic statement
46(No Transcript)
47(No Transcript)
48Providing Information
- Integrating various syntactic and semantic
formats based on the common ontology - Three different modes of information provision
are supported - Metadata-based information
- Wrapper-based information
- Fact-based information
49Metadata-based Information
In RDF, XML
Metadata
Information source
Annotation tool
(OntoPad Annotea, )
50Wrapper-based Information
- Annotating information sources by hand is
time-consuming.
Semi-structured Information sources (e.g., HTML)
Wrapper program
Metadata
Structured Information sources (e.g., RDB)
(Onto Wrapper)
51Fact-Based Information
create
New facts
add, modify, delete
Knowledge warehouse
Fact Editor
(Ontoedit, OilED, Protégé 2000)
52Development of Web Portals
53The System Architecture
54An Architecture of RDF Triple Data Store
55RDF Parser and Generator
- Using DCG in Prolog as the development tool
- Formal grammar in RDF MS Spec http//www.w3.org/T
R/1999/REC-rdf-syntax-19990222/grammar
Formal grammar rules in DCG
Prologs working storage
Prologs inference engine
User interface
566.1 RDF 'ltrdfRDFgt' obj
'lt/rdfRDFgt' 6.2 obj
description container 6.3 description
'ltrdfDescription' idAboutAttr? bagIdAttr?
propAttr '/gt'
'ltrdfDescription' idAboutAttr? bagIdAttr?
propAttr 'gt'
propertyElt 'lt/rdfDescriptiongt'
typedNode 6.4 container
sequence bag alternative
rdf(Objs) --gt ('lt?', (nm/'xml'nm/'XML
' nm/'xmls'nm/'XMLS'),
(nm/'version','',qs/_),
(nm/'encoding','',qs/_),
'?gt',wl('XML heading') ),
(fullSTG('RDF',NS) halfSTG('RDF',NS),
'gt' ), objStar(Objs),
(fullETG('RDF',NS) ). objStar(Out) --gt
obj(O), objStar(R),OutOR
,Out.
obj(Obj) --gt container(Obj)
description(_),getAllTriples(Obj). getAllTriples
(Obj)- findall(statement(A,B,C),statement(A,B,C),
Obj). description(_) --gt halfSTG('Descriptio
n',NS), (idAboutAttr(IdAboutAttr)),
(bagIdAttr(BagIdAttr)), propAttrStar(IdAbout
Attr), ('/gt' 'gt', propertyEltS
tar(IdAboutAttr), fullETG('Description',NS)
), reificationOfStatements(IdAboutAttr,BagI
dAttr) typedNode.
57ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22
-rdf-syntax-ns" xmlnsdc"http//purl.org/metad
ata/dublin_core"gt ltrdfDescription
about"http//www.foo.com/cool.html"gt
ltdcCreatorgt ltrdfSeq ID"CreatorsAlphabetic
alBySurname"gt ltrdfligtMary Andrewlt/rdfligt ltrdf
ligtJacky Crystallt/rdfligt lt/rdfSeqgt
lt/dcCreatorgt ltdcIdentifiergt ltrdfBag
ID"MirroredSites"gt ltrdfli rdfresource"http/
/www.foo.com.au/cool.html"/gt ltrdfli
rdfresource"http//www.foo.com.it/cool.html"/gt
lt/rdfBaggt lt/dcIdentifiergt
ltdcTitlegt ltrdfAltgt ltrdfli
xmllang"en"gtThe Coolest Web Pagelt/rdfligt ltrdf
li xmllang"it"gtIl Pagio di Web Fubalt/rdfligt
lt/rdfAltgt lt/dcTitlegtlt/rdfDescriptiongtlt/r
dfRDFgt
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
58RDF Statements in RDB Tables
RDF_NameSpace
RDF_Resource
RDF_Statement
RDF_Predicate
RDF_Literal
59User InterfaceConceptual Search
- Natural language interface is the best choice,
but is very difficult to obtain a good result. - Form-based interface is easy to implement, but is
too restricted. - Hierarchical directory browsing is perhaps a good
idea, if the domain in question is well
organized. - We also propose a frame-based query interface.
target_concept(attribute1value1, )
teacher(office6th_floor)
60User InterfaceNatural Language Generation
Knowledge Warehouse (RDF)
Content extraction
Text planning
Multi-sentential text
Content planning
NLG
61Future Work
- Building an ontology for the Digital Archive
Services - Consisting of resource and process parts
- Declarative approach to semantic web service
- Using an workflow engine to interpret the process
descriptions - Intelligent QA for digital archive
62Summary
- Semantic Web portals
- Machine-understandable information
- RDF store
- Accessing information
- Navigation and query
- Providing information
- Annotation, wrapper, fact editing
- Enabling automatic processing by software agents