Title: ????????%20Logical%20Foundation%20of%20the%20Semantic%20Web
1???????? Logical Foundation of the Semantic Web
?? ??? Zhisheng Huang Vrije University
Amsterdam, The Netherlands huang_at_cs.vu.nl ?? ??
Wei Hu Southeast University whu_at_seu.edu.cn
2?????Schedule
3 ??6???????(II)Lecture 6 Ontology Management
and Reasoning (II)
- ????????(Web Scale Reasoning)
- LarKC??????????(LarKC A Platform for Web Scale
Reasoning) - ????? (Conclusion and Discussion)
4??????
- Linking Open Data In October 2007, datasets
consisted of over two billion RDF triples, which
were interlinked by over two million RDF links.
By May 2009 this had grown to 4.2 billion RDF
triples, interlinked by around 142 million RDF
links.
51 triple
6(No Transcript)
7(No Transcript)
8(No Transcript)
9107 Triples OWLIM
Suez Canal
Denny Vrandecic AIFB, Universität Karlsruhe
(TH)
9
http//www.aifb.uni-karlsruhe.de/WBS
10RDF Store subsecond querying 108 Triples Ingenta
Moon
Denny Vrandecic AIFB, Universität Karlsruhe
(TH)
10
http//www.aifb.uni-karlsruhe.de/WBS
11109 Triples
Earth
Denny Vrandecic AIFB, Universität Karlsruhe
(TH)
11
http//www.aifb.uni-karlsruhe.de/WBS
12LarKC proposal 1010 Triples 1 triple per
web-page
Jupiter
1 triple per web-page
Denny Vrandecic AIFB, Universität Karlsruhe
(TH)
12
http//www.aifb.uni-karlsruhe.de/WBS
13 1011 Triples
14 1014 Triples
Distance Sun Pluto
Fensel / Harmelen estimate 1014 Triples
Denny Vrandecic AIFB, Universität Karlsruhe
(TH)
14
http//www.aifb.uni-karlsruhe.de/WBS
15LarKC ????????????http//www.larkc.eu
- The Large Knowledge Collider (???????)
- A configurable platform
- for experimentation
- by others
16?????Configurable platform
a configurable platform for infinitely scalable
semantic web reasoning. Enrich current
logic-based Semantic Web reasoning with methods
from information retrieval, machine learning,
information theory, databases, and probabilistic
reasoning
17??????????????Web Science with Human Intelligence
- Employing cognitively inspired approaches and
techniques such as spreading activation, focus
of attention, reinforcement, habituation,
relevance reasoning, and bounded rationality
18Achieve scalability through giving up
completeness
- by giving up 100 correctness
- trading quality for size
- often completeness is not needed
- sometimes even correctness is not needed
logic
Semantic Web
IR
19????????????????Achieve Scalability through
Parallelization
- by parallelisation
- cluster computing
- wide area distribution Thinking_at_home,
self-computing semantic Web
- cloud computing ???
- (Amazon, Google)
20?????????? LarKCEU 7th framework Project
- ???1????10M budget
- ??3?? 3.5 years
- ????? 80 person years
- 3????? 3 case studies
- 14????? 14 partners,??12??? 12
countries,??3?? 3 continents - project nr. FP7 215535
21The consortium
50 people present
22The Consortium
- Combining consortium competence
- IR, Cognition
- ML, Ontologies
- Statistics, ML, Cognition,DB
- Logic,DB, Probabilistic Inference
- Economics, Decision Theory
23????Project Workpackages
WP1 Conceptual Framework Evaluation
WP 9 Exploitation and standards
WP 10 Project Management
WP 2 Retrieval and Selection
WP3 Abstraction and Learning
WP4 Reasoning and Deciding
WP5 Collider Platform
WP 8 Training, dissemination, community building
WP 6 Use case Real Time City
WP 7a Use case Early Clinical Development
WP 7b Use case Carcinogenesis Reference
Production
24Use case Drug Discovery
FDA white paper Innovation or Stagnation (March
2004) developers have no choice but to use the
tools of the last century to assess this
century's candidate solutions. industry
scientists often lack cross-cutting information
about an entire product area, or information
about techniques that may be used in areas other
than theirs
- Problem pharmaceutical RD in early clinical
development is stagnating
Show me any potential liver toxicity associated
with the compounds drug class, target, structure
and disease.
(Q1?Q2?Q3)
25Use Case Real Time City
- Our cities face many challenges
- Urban Computing is the ICT way to address them
26?????Project Timeline
27?????????????How can any other interested party
contribute?
- The Large Knowledge Collider is an open, and
configurable platform. - The first public version of the Large Knowledge
Collider is available? - LarKC will form an "early adapters group". LarKC
will actively support this group in use the Large
Knowledge Collider platform.
28LarKC ????http//groups.google.com/group/larkc-ch
inese-forum
29Chinese Developer Forum
- LarKC Chinese Developer Workshop 2010 will be
located with Chinese Web Intelligence Forum 2010 - The official page form the 2010 Chinese Developer
Forum http//wiki.larkc.eu/CDW2010
30??????Semantic Operating Systems
31??? Cloud Computing
- ???????????????????,???????????????????????,
?????IT??????????????? - Cloud Computing is a paradigm in which
information is permanently stored in servers on
the Internet and cached temporarily on clients?
32Realising the Architecture
Pipeline Support System
Plug-in Registry
Plug-in API
Data Layer API
RDF Store
Data Layer
32
33LarKC Plug-in API General Plug-in Model
Plug-in
URI getIdentifier() QoSInformation
getQoSInformation()
- Plug-ins are identified by a URI (Uniform
Resource Identifier) - Plug-ins provide MetaData about what they do
(Functional properties) e.g. type Selecter - Plug-ins provide information about their
behaviour and needs, including Quality of Service
information (Non-functional properties) e.g.
Throughput, MinMemory, Cost,
33
34LarKC Plug-in API IDENTIFY
Identifier
CollectionltInformationSetgt identify (Query
theQuery, Contract contract, Context context)
- IDENTIFY Given a query, identify resources that
could be used to answer it - Sindice Triple Pattern Query ? RDF Graphs
- Google Keyword Query ? Natural Language
Document - Triple Store SPARQL Query ? RDF Graphs
34
35LarKC Plug-in API TRANSFORM (1/2)
QueryTransformer
SetltQuerygt transform(Query theQuery, Contract
theContract, Context theContext)
- Query TRANSFORM Transforms a query from one
representation to another - SPARQL Query ? Triple Pattern Query
- SPARQL Query ? Keyword Query
- SPARQL Query ? SPARQL Query (different
abstraction) - SQARQL Query ? CycL Query
35
36LarKC Plug-in API TRANSFORM (2/2)
InformationSetTransformer
InformationSet transform(InformationSet
theInformationSet, Contract theContract, Context
theContext)
- Information Set TRANSFORM Transforms data from
one representation to another - Natural Language Document ? RDF Graph
- Structured Data Sources ? RDF Graph
- RDF Graph ? RDF Graph (e.g. foaf vocabulary to
facebook vocabulary)
36
37LarKC Plug-in API SELECT
Selecter
SetOfStatements select(SetOfStatements
theSetOfStatements, Contract contract, Context
context)
- SELECT Given a set of statements (e.g. a number
of RDF Graphs) will choose a selection/sample
from this set - Collection of RDF Graphs ? Triple Set (Merged)
- Collection of RDF Graphs ? Triple Set (10 of
each) - Collection of RDF Graphs ? Triple Set (N Triples)
37
38LarKC Plug-in API REASON
Reasoner
VariableBinding sparqlSelect(SPARQLQuery
theQuery, SetOfStatements theSetOfStatements,
Contract contract, Context context)
SetOfStatements sparqlConstruct(SPARQLQuery
theQuery, SetOfStatements theSetOfStatements,
Contract contract, Context context)
SetOfStatements sparqlDescribe(SPARQLQuery
theQuery, SetOfStatements theSetOfStatements,
Contract contract, Context context)
BooleanInformationSet sparqlAsk(SPARQLQuery
theQuery, SetOfStatements theSetOfStatements,
Contract contract, Context context)
- REASON Executes a query against the supplied set
of statements - SPARQL Query ? Variable Binding (Select)
- SPARQL Query ? Set of statements (Construct)
- SPARQL Query ? Set of statements (Describe)
- SPARQL Query ? Boolean (Ask)
38
39LarKC Plug-in API DECIDE
Decider
VariableBinding sparqlSelect(SPARQLQuery
theQuery, QoSParameters theQoSParameters)
SetOfStatements sparqlConstruct(SPARQLQuery
theQuery, QoSParameters theQoSParameters)
SetOfStatements sparqlDescribe(SPARQLQuery
theQuery, QoSParameters theQoSParameters)
BooleanInformationSet sparqlAsk(SPARQLQuery
theQuery, QoSParameters theQoSParameters)
- DECIDE Builds the pipeline and manages the
control flow - Scripted Decider Predefined pipeline is built
and executed - Self-configuring Decider Uses plug-in
descriptions (functional and non-functional
properties) to build the pipeline
39
40Released System
- Early adopters workshop _at_ ESWC09, ISWC09
- participants modified plug-ins, modified
workflows - Standard Open Environment Moving to
Sourceforge/SVN
40
41LarKC Architecture
Platform Utility Functionality
APIs
Plug-ins
External systems
External data sources
RDF Doc
41
42LarKC Plug-ins
- Provide SPARQL end-points
- Run in separate threads
- Automatically add meta-data to registry when
loaded - Communicate RDF data by passing labelled sets or
references to labelled sets
42
43DIG Pipeline
DIG Decider
43
44Gate and Cyc Pipeline
Gate-Cyc Decider
44
45Urban Computing
Urban City Decider
45
46LarKC??????
- Jena Reasoner
- SPARQL-DL Reasoner
- Pellet Reasoner
- DIG Interface Reasoner
- OWLLink Reasoner
- IRIS rule-based Reasoner
- PION Reasoner
- Granular Reasoner
- Stream Reasoner
- .....
- CYC Decider
- Scripted Decider(s)
- ..
46
47Implementation of Reasoner Plug-ins
- Released
- Pellet SPARQL-DL reasoner
- DIG Interface reasoner
- IRIS Rule-based reasoner
- In Progress
- PION reasoner
- Stream reasoner
- OWLAPI Reasoner
47
48Using the DIG Plug-in to Reason with Ontologies
in LarKC
- Motivation
- LarKC Platform DIG Plug-in
- Installation and Executation
- Test Examples
- Developer Guide
- Use Case PION for Reasoning with Inconsistent
Ontologies
49Motivation
- All popular DL-reasoners such as RACER, FACT,
Pellet, KAON2) provide the DIG interface support. - The LarKC platform needs DL/OWL reasoning
support. It is convenient for the platform to
gain the DL reasoning support via the LarKC DIG
interface. - To provide an easy approach to wrap
non-java-based reasoners (such as PION, MORE,
DION, etc.) with their DIG interface.
50??????DIG Interface
- ???????(The Description Logic Implementation
Group) http//dl.kr.org/dig/?1999??? - ?????????????????????,??OWL-DL????????????????????
- ????HTTP?????SOAP???
51DIG Interface
- ??TELL????????????????,
- ??ASK????DIG??????????
- ??,?????????????????????
52Concept Language
53Tell Language
54Example
55Response
56Ask Language
57ExampleAsk
58Response Language
59Example Response
60LarKC Platform and the DIG plug-in
Racer
FACT
LarKC Platform
KAON2
DIG Interface Plug-in
61Tasks of the DIG Plug-in
- Translate a set of statements (ontology data)
into a DIG data. If it is OWL-DL data, the use
the OWL2DIG library to translate it into a DIG
data - Translate SPARQL(DL) query into DIG
- - deal with triple-encoded DL
expressions - 3. Query processing and answer checking
- 4. Translate DIG answers into SPARQL answers
08/04/2018
footer
61
62LarKC Platform and the DIG plug-in
Ontology (URI)/ Set of Statements
SPARQL query
SPARQL Answer
LarKC Platform
Tell
External DIG Reasoner
DIG Interface Plug-in
Ask
Response
63The DIG plug-in (v0.3)
- Have been supported
- Support the DIG interface 1.1.
- Support Sparqlask and Sparqlselect.
- DL Expressions (conjunction, disjunction,
disjoint, negation) - DIG queries (subsumption, instance, instances)
- Have been tested with
- Racer1.7.14
- PION 2.1.0
- To be supported soon
- Complex DL concept expressions (such as nominal,
min, max, etc.) - Complex Sparql expressions (such as Filtering,
Optional, Regular expressions, sparqlconstruct,
sparqldescribe, etc.) - Complex DIG queries (role query, functional
query, value pair query)
64Why SPARQL-DL?
- SPARQL is too expressive for a DL reasoner can
support. - In SPARQL, there is no semantic interpretation
for DL expressions such as owlsameas,
owldisjointwith, etc. - SPARQL-DL is a DL-specific SPARQL with some DL
primitives, such as type(a, C), SubClassof(C1,
C2), DisjointWith(C1,C2), ComplementOf(C1,C2),Equi
valentClass(C1,C2),(Sirin and Parsia 2007)
65Translation of DL expressions into RDF triples
- Using the OWL-DL method (Patel-Schneider,Hayes,
Horrocks 2004). - http//www.w3.org/TR/owl-semantics/mapping.html
66SPARQL-DL Query Example 1
- ?- subClassOf(Wine, PotableLiquid)
- // to ask whether or not wine is a subclass of
potable liquid - PREFIX rdfs lthttp//www.w3.org/2000/01/
rdf-schemagt - PREFIX wine lthttp//www.w3.org/TR/200
3/PR-owl-guide-20031209/winegt - PREFIX food lthttp//www.w3.org/TR/200
3/PR-owl-guide-20031209/foodgt - ASK
- WHERE wineWine rdfssubClassOf
foodPotableLiquid.
67SPARQL-DL Query Example 2
?- subClassOf(Bordeaux, and(SweetWine,
TableWine)) // to ask whether or not Bordeaux is
a SweetWine and TableWine PREFIX rdfs
lthttp//www.w3.org/2000/01/rdf-schemagt
PREFIX rdf lthttp//www.w3.org/1999/02/22-rdf
-syntax-nsgt PREFIX owl
lthttp//www.w3.org/2002/07/owlgt ASK
wineBordeaux rdfssubClassOf _x.
_x owlinterSectionOf _y1.
_y1 rdffirst wineSweetWine.
_y1 rdfrest wineTableWine.
wineBordeaux rdftype owlClass.
68Simple SPARQLSelect Query Example 3
?- subClassOf(?X, Wine) // to list all
subconcepts of Wine PREFIX rdfs
lthttp//www.w3.org/2000/01/rdf-schemagt
PREFIX wine lthttp//www.w3.org/TR/2003/PR-o
wl-guide-20031209/winegt SELECT
?X WHERE ?X rdfssubClassOf
wineWine.
69SPARQL-DL Query Example 4
?- subClassOf(Bordeaux, ?X), subClassOf(?X,Wine),
subClassOf(?X,?Y). PREFIX
rdfshttp//www.w3.org/2000/01/rdf-schema..
.. PREFIX wine lthttp//www.w3.org/TR
/2003/PR-owl-guide-20031209/winegt SELECT ?X ?Y
WHERE wineBordeaux rdfssubClassOf
?X. ?X rdfssubClassOf wineWine.
?X rdfssubClassOf ?Y. ?Y rdftype
owlClass.
70Setting up LarKC with a DIG reasoner
- Download the LarKC platform from
- https//gforge.hlrs.de/frs/?group_id159
- The wrapped up DIG reasoner plugin is located at
plugins/src/eu/larkc/plugin/reason/dig
71External DIG Reasoner
- The LarKC DIG plug-in requires an external DIG
reasoner like Racer. Before starting the test,
make sure the external DIG reasoner has been
installed at your computer(i.e., localhost) and
is running at a known port.
72Test Examples
- The java program DIGReasonerTest.java at the dig
plug-in source directory provides several typical
examples how an external DIG reasoner can be
called to reason with ontologies at the LarKC
platform.
73Checking the setting
- Before executing the test program, you can change
the following setting in the program - String hostname "localhost"
- int port 8080 //default port for
racer - String path "/"
74Claiming ontology data
- The ontology data can be claimed by a code, like
this - String ontologyFileName "http//www.cs.vu.nl/hu
ang/larkc/ontology/wine.rdf" - or
- String ontologyFileName "file////E/larkc/on
tology/wine.rdf" - if the ontology data is located at the local
harddisk.
75Using the test utility program
- Using the following test utility to post the
query to the external DIG reasoner and get the
answer in the test program - ReasonerTest(ontologyFileName, query32,
hostname, port, path)
76Developer Guide Reasoner Interface
- public interface Reasoner extends Plugin
- public VariableBinding sparqlSelect(SPARQLQuery
theQuery, - SetOfStatements theSetOfStatements, Contract
contract, Context context) - public SetOfStatements sparqlConstruct(SPARQLQuer
y theQuery, - SetOfStatements theSetOfStatements, Contract
contract, Context context) - public SetOfStatements sparqlDescribe(SPARQLQuery
theQuery, - SetOfStatements theSetOfStatements, Contract
contract, Context context) - public BooleanInformationSet sparqlAsk(SPARQLQuer
y theQuery, - SetOfStatements theSetOfStatements, Contract
contract, Context context) -
77To convert a string query into a SPARQLQuery
-
- SPARQLQuery sparqlQuery DataFactory.INSTANCE.cr
eateSPARQLQuery(query)
78To convert an ontology url into a SetOfStatements
- RdfGraph graph DataFactory.INSTANCE.creat
eRemoteRdfGraph(new URIImpl(url.toString())) - Namely, using an openrdf graph as a
SetOfStatements.
79To claim an external DIG reasoner
- DIGReasoner reasoner new DIGReasoner()
- reasoner.hostname hostname
- reasoner.port port
- reasoner.path path
80To conduct a reasoning task
- BooleanInformationSet answer reasoner.sparqlAsk(
sparqlQuery, graph, contract, context) - Ignoring the contract and the context for the
time being.
81PION
- PION is a system which can get meaningful answers
for querying on inconsistent ontologies. - PION websitehttp//wasp.cs.vu.nl/sekt/pion
- The LarKC DIG plugin requests the external PION
system (version 2.1.0 or higher) with SWI-Prolog
on your computer. - The SWI-Prolog can be downloaded from the SWI
Prolog website http//www.swi-prolog.org.
82PION and External DIG Reasoner
- PION needs an external DIG Reasoner for standard
reasoning(i.e., non-inconsistency reasoning)
83Compare it with that from a standard DL reasoner
- You can see that when querying an inconsistent
ontology, the standard DL reasoner always returns
an error message, like this - ltresponses xmlns"http//dl.kr.org/dig/2003/02/la
ng" - xmlnsxsi"http//www.w3.org/2001/X
MLSchema-instance" - xsischemaLocation"http//dl.kr.or
g/dig/2003/02/lang - http//dl-web.man.ac.uk/dig/2003/02
/dig.xsd"gt - lterror id"http//wasp.cs.vu.nl/lark
c/ontology/exthemadcow http//www.w3.org/1999/02
/22-rdf-syntax-nstype http//wasp.cs.vu.nl/larkc/
ontolog/exvegetarian" - message"ABox http//dl.kr.org/dig/
kb-1048 is incoherent."/gt - lt/responsesgt
84Various Strategies
- You can use the PION testbed page piontest2.htm
to select different strategies for reasoning
with inconsistent ontologies by PION - selection functions (syntactic relevance, concept
syntactic relevance, or semantic relevance by
Google distances), - over-determed processing methods (first maximal
consistent set, or path pruning with Google
distances), - extension strategies (linear extension or
k-extension).
85Questions and Discussions
86?????????
87????????????
?????????????(S) ???????????? (N)
?????? (E) ES EN
?????(D) DS DN
?????????(L) LS LN
88????????????(???)
- E?????????
- D ??????????
- L ?????????????
89??????(???)
- ES???????????????
- EN???????????????
- DS ???????????????
- DN ???????????????
- LS ????????????
- LN?????????????????
90????????(???)
- ES??????????????
- EN??????????????
- DS ????????????????
- DN ????????????????
- LS ????????????????
- LN???????????????????
91?????(???)
- ES???????????????
- EN???????????????
- DS ????????????????
- DN ????????????????
- LS ????????????????
- LN???????????????????
92???????(???)
- ES???????????????
- EN????????????????
- DS ??????????????
- DN ????????????????
- LS ????????????????
- LN????????????????
93????????????(???)
- ES???????????????
- EN??????????????????????
- DS ???????????????
- DN ????????????????
- LS ????????????????????????
- LN??????????????
94???
- Grigoris Antoniou?Frank van Harmelen??????????(?
?????????????),2008 - ?????,??Web?????,???????,2009
- P. Hitzler, M. Krutzsch, S. Rudolph Foundations
of Semantic Web Technologies, Chapman Hall/CRC,
2009, 455 pages?
95???????????!
95
96?????????
?????????????? ??????????? ????
???????,??????? ???????,???????
???????,??????? ???????,????????
??????,??Jeff Pan?????????