67

Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

  • Upload
    others

  • View
    27

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web� Semantic Wikis. Programming

GEIST Research Grouphttp://geist.agh.edu.pl

AGH University of Science and Technology, POLAND

Using slides upon request from:

JavaOne Online Technical Sessions and Labs:Semantic Web Programming � by John Hebelerand Matthew Fisher: http://www.oracle.com/technetwork/java/index-jsp-156726.html

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 1 / 67

Page 2: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Outline

Outline

1 Semantic Web Applications: Semantic Wikis

2 Semantic Web Programming: Jena

3 The End

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 2 / 67

Page 3: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis

Outline

1 Semantic Web Applications: Semantic Wikis

Semantic Wikis and OntologiesOntology Engineering with Semantic WikisLoki

2 Semantic Web Programming: Jena

3 The End

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 3 / 67

Page 4: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis

Semantic Wikis

Semantic improvement

Wiki + semantics.

Transition content → knowledge.

Make content understandable by machines.

Knowledge processing and conclusion generation.

Querying the wiki for information.

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 4 / 67

Page 5: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis

Semantic annotation

�London� is the capital city of

[[capital of::England]] and of the

[[capital of::United Kingdom]]. And it is located

in [[Located in::England]]. As of [[year:=2005]],

the total resident population of London was

estimated [[population:=7,421,328]]. Greater London

covers an area of [[area:=609 km2]].

[[Category:City]]

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 5 / 67

Page 6: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis

Semantic Queries

{{#ask:[[Category:City]][[located in::Germany]]

|?Population

|?Area

|order=DESC

|sort=Area

}}

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 6 / 67

Page 7: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies

Outline

1 Semantic Web Applications: Semantic Wikis

Semantic Wikis and OntologiesOntology Engineering with Semantic WikisLoki

2 Semantic Web Programming: Jena

Building, Navigating, and Exporting a Semantic ModelQuerying the Semantic ModelSemantic Reasoning to Unify Multiple Knowledge Models

3 The End

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 7 / 67

Page 8: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies

Semantic Wikis and Ontologies

1 Domain Ontology in a wiki: a semantic backbone of the content

2 Task Ontology in a wiki: base for reasoning and user interface

3 Semantic Wiki: Ontology Development Environment

→ The above combinations may be mixed

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 8 / 67

Page 9: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies

Mapping annotations to OWL DL

The semantics of annotation are mapped to the OWL DL:

normal pages → individuals,

properties → OWL properties,

categories → classes,

property values → literals or individuals.

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 9 / 67

Page 10: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies

Domain Ontologies in SemanticEncyclopediae

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 10 / 67

Page 11: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies

Ontology as a semantic backbone of thecontent (SMW)

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 11 / 67

Page 12: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies

Task Ontology as a base for reasoningand generating User Interface (KnowWE)

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 12 / 67

Page 13: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies

Semantic Wiki as an OntologyDevelopment Environment (Knoodl)

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 13 / 67

Page 14: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Outline

1 Semantic Web Applications: Semantic Wikis

Semantic Wikis and OntologiesOntology Engineering with Semantic WikisLoki

2 Semantic Web Programming: Jena

Building, Navigating, and Exporting a Semantic ModelQuerying the Semantic ModelSemantic Reasoning to Unify Multiple Knowledge Models

3 The End

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 14 / 67

Page 15: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Ontology Engineering

1 Ontology Representation

natural language, annotations, logical formulas

2 Navigating, browsing, viewing the ontology

wiki pages, various data formats

3 Editing the ontology

text, wiki markup, dedicated forms

4 Importing/Exporting ontologies

OWL, proprietary formats

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 15 / 67

Page 16: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Representation: ACE Wiki

Attempto Controlled English language

mapping sentences to logical formulas (OWL)

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 16 / 67

Page 17: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Representation: ACE Wiki

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 17 / 67

Page 18: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Representation: KnowWE

Knowledge Formalization Continuum (KFC)

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 18 / 67

Page 19: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Browsing ontology: SMW

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 19 / 67

Page 20: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Browsing ontology: OntoWiki

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 20 / 67

Page 21: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Viewing ontology: Di�erent Views

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 21 / 67

Page 22: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Editing: Wiki Markup

�London� is the capital city of

[[capital of::England]] and of the

[[capital of::United Kingdom]]. And

it is located in [[Located in::England]].

[[Category:City]]

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 22 / 67

Page 23: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Editing: Forms

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 23 / 67

Page 24: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Ontology Engineering with Semantic Wikis

Editing: Dedicated Editors

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 24 / 67

Page 25: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Outline

1 Semantic Web Applications: Semantic Wikis

Semantic Wikis and OntologiesOntology Engineering with Semantic WikisLoki

2 Semantic Web Programming: Jena

Building, Navigating, and Exporting a Semantic ModelQuerying the Semantic ModelSemantic Reasoning to Unify Multiple Knowledge Models

3 The End

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 25 / 67

Page 26: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Loki � logic in a wiki

Semantic Wiki with strong logical representation

semantic annotations, semantic queries

support for rule representation and reasoning

See http://loki.ia.agh.edu.pl

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 26 / 67

Page 27: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Loki Architectureq

uer

yin

g:

SP

AR

QL

, P

rolo

g

Prolog

wikitext + annotations

Loki Engine

Loki Knowledge Base

SMW Rules Ontologies

Engine

Rule

Reasoner

DL

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 27 / 67

Page 28: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Loki Architecture

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 28 / 67

Page 29: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Semantic annotations

Annotations:

categories

relations

attributes

Special pages:

sub-categories

sub-properties

Semantic queries

Rules

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 29 / 67

Page 30: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Editing the content

====== Book details: ======

[[category:book]]

**Title**: [[title:=The Call of Cthulhu]]

**Author**: [[author::bookstore:author:h_p_lovecraft]]

**Publisher**: [[publisher::bookstore:publisher:iap]]

**Date**: [[date:=2009]]

**Language**: [[language:=english]]

**Genre**: [[genre::bookstore:genre:horror]]

**Pages**: 52

**Keywords**: [[keyword:=evenings]]

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 30 / 67

Page 31: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Semantic data export

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 31 / 67

Page 32: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Background ontology of the wiki content

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 32 / 67

Page 33: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Loki Architecture

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 33 / 67

Page 34: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Querying the Knowledge

====== Recommendation: ======

**Books by this author**: {{#ask: [[category:book]]

[[author::bookstore:author:h_p_lovecraft]] }}

**Books in this genre**: {{#ask: [[category:book]]

[[genre::bookstore:genre:horror]] }}

**Books by this publisher**: {{#ask: [[category:book]]

[[publisher::bookstore:publisher:iap]] }}

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 34 / 67

Page 35: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Logical representation

1 Mapping annotations to Prolog predicates:

wiki_category('bookstore:book:the_call_of_cthulhu',

'book').

wiki_attribute('bookstore:book:the_call_of_cthulhu',

'title', 'The Call of Cthulhu').

wiki_relation('bookstore:book:the_call_of_cthulhu',

'author', ':bookstore:author:h_p_lovecraft').

2 Arbitrary rule/goal formulation:

custom_recommendations(X) :-

wiki_attribute(X,'keyword','christmas').

goal="custom_recommendations(X),write(X),nl,fail"

scope="*">

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 35 / 67

Page 36: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Loki Architecture

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 36 / 67

Page 37: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

HeaRT in the Wiki

HeKatE Run Time rule engine

Inferene modes

Data-Driven Inference

Goal-Driven Inference

Token-Driven Inference

HMR � HeKatE Markup Language

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 37 / 67

Page 38: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Modularized Rule Base

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 38 / 67

Page 39: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Embedding HMR in Wiki

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 39 / 67

Page 40: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Hybrid Reasoning: Ontologies and Rules

DL descriptions in rule atoms

conditions checked by a DL reasoner (Pellet)

rule selection by HeaRT

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 40 / 67

Page 41: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Hybrid Reasoning: Pellet-HeaRT

HeaRT

Rule selection

Rule execution

Definitions of attributes (TBox)

System state (ABox)

Rule axioms

DL reasoner

Consistency checkingKnowledge Base

Definitions of attributes (TBox)

System state (ABox)

Selected rule Preconditions

(temporary TBox)

Selected rule actions

(ABox assertions)

DL ontology

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 41 / 67

Page 42: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Loki: Summary

Loki Features

Semantic Wiki with strong logical representation

Supports semantic annotations (SMW)

Supports rule representation and reasoning (Prolog predicates)

Embedded HeaRT engine

custom inference

modularized rule bases

hybrid reasoning with Pellet-HeaRT

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 42 / 67

Page 43: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 43 / 67

Page 44: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Other applications

Semantic Web browsers, e.g., Tabulator

SW Search Engines

Linked Data Mashups

Knowledge Management for Enterprises (e.g., TopBraidComposer, semafora)

More work on: querying Linked Data, reasoning in Linked Data(not much logic required), e�cient ontology languages andtheir applications...

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 44 / 67

Page 45: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Applications: Semantic Wikis Loki

Further reading...

readwrite.com/2010/12/29/top_10_semantic_web_

products_of_2010

www.slideshare.net/mtgreaves/

tutorial-semantic-wikis-and-applications

readwrite.com/2007/09/20/the_top-down_semantic_web

...

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 45 / 67

Page 46: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena

What can we do with the Semantic Web?

What can we do with data?

What for?

Use case scenarios?

What we would like to do?

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 46 / 67

Page 47: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Building, Navigating, and Exporting a Semantic Model

Outline

1 Semantic Web Applications: Semantic Wikis

Semantic Wikis and OntologiesOntology Engineering with Semantic WikisLoki

2 Semantic Web Programming: Jena

Building, Navigating, and Exporting a Semantic ModelQuerying the Semantic ModelSemantic Reasoning to Unify Multiple Knowledge Models

3 The End

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 47 / 67

Page 48: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Building, Navigating, and Exporting a Semantic Model

Jena Semantic Web Framework

> Consistent Programming Environment for Triples (e.g. The Semantic Web)

> Features...● Open Source ● Java● Popular, Growing● Flexible, Extendable

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 48 / 67

Page 49: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Building, Navigating, and Exporting a Semantic Model

Establishing the Semantic Jena “Model”

> Central Class for the Semantic Web● Decoupled from storage mechanisms● Decoupled from reasoning, etc● Tune-able Reasoning Level

> ExamplesModel yourModel = ModelFactory.createDefaultModel()

Model yourOWLModel = ModelFactory.createOntologyModel()

Model yourFileBackedModel = ModelFactory.createFileModelMaker()

Model yourDBBackedModel = ModelFactory.createRDBMaker()

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 49 / 67

Page 50: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Building, Navigating, and Exporting a Semantic Model

Populating the Jena “Model” objectyourModel.read(String URL, String default base, String format)

// format:“RDF/XML","N-TRIPLE","TURTLE"(or "TTL")and "N3”// base: “http://mylocation.com/”

yourModel.read(InputStream inputLocalFile, String default base, String format)

> Others● add( Model anotherModel)

● add( Statement statement)

● intersection( Model anotherModel)

● union( Model anotherModel)

● difference (Model anotherModel)

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 50 / 67

Page 51: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Building, Navigating, and Exporting a Semantic Model

Navigating the Jena Model> Graph Orbit

1)Resource me = model.getResource();

2)StmtIterator iter = me.listProperties();

3)iter.nextStatement.getPredicate() (.getObject);

➢ Simple Selections1)SimpleSelector yourSelector =

new SimpleSelector(Resource matchSubject, Resource matchPredicate,Resource matchObject ); // null is wild

2)StmtIterator yourList = yourModel.listStatements(yourSelector);

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 51 / 67

Page 52: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Building, Navigating, and Exporting a Semantic Model

Exporting your Model

> yourModel.write(FileOutputStream yourFile, String format)● Format is RDF/XML", "N-TRIPLE", "TURTLE" (or

"TTL") and "N3

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 52 / 67

Page 53: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Querying the Semantic Model

Outline

1 Semantic Web Applications: Semantic Wikis

Semantic Wikis and OntologiesOntology Engineering with Semantic WikisLoki

2 Semantic Web Programming: Jena

Building, Navigating, and Exporting a Semantic ModelQuerying the Semantic ModelSemantic Reasoning to Unify Multiple Knowledge Models

3 The End

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 53 / 67

Page 54: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Querying the Semantic Model

Graduating from Navigating to Querying

> Navigating is not optimal method for information retrieval

> Lacks● Scalability● Focus● Resource Conservation

> Jena supports queries with ARQ● SPARQL Query Engine● http://jena.sourceforge.net/ARQ/

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 54 / 67

Page 55: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Querying the Semantic Model

ARQ – We start with just a string...

> Create a SPARQL query string

> Create a Query object from the query string

● Query q =

QueryFactory.create(queryString);

> Create a QueryExecution object from Query object

● QueryExecution qexec =

QueryExecutionFactory.create(q,

_socialModel);

> Fire off any one of four SPARQL queries● qexec.execSelect();

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 55 / 67

Page 56: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Querying the Semantic Model

Four Query Options

> SELECT● Most popular● Much like a SQL

SELECT Statement> CONSTRUCT

● Returns a Model object

● Ontological Mediation

> ASK● Boolean return value● “Pre-query”

> DESCRIBE● Returns a Model

object● SPARQL endpoint

decides content!

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 56 / 67

Page 57: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Querying the Semantic Model

SELECT Query Basics

Recommendation has many good examples:http://www.w3.org/TR/rdf-sparql-query/

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 57 / 67

Page 58: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Querying the Semantic Model

ARQ Bonuses

> Built in support for Visitor Pattern● QueryVisitor Interface

> Support for RDQL, ARQ● same name but home-grown query language

> Support for SPARUL● Ability to update data (vs. SPARQL's read only)● Experimental● UpdateRequest has its own exec() call

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 58 / 67

Page 59: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Semantic Reasoning to Unify Multiple Knowledge Models

Outline

1 Semantic Web Applications: Semantic Wikis

Semantic Wikis and OntologiesOntology Engineering with Semantic WikisLoki

2 Semantic Web Programming: Jena

Building, Navigating, and Exporting a Semantic ModelQuerying the Semantic ModelSemantic Reasoning to Unify Multiple Knowledge Models

3 The End

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 59 / 67

Page 60: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Semantic Reasoning to Unify Multiple Knowledge Models

2

Reasoning Backdrop> Infers what is logical per the

provided statements● Inheritance● Class Assignment● Equivalence

> Amplifies Statements● Good gets Better● Bad gets Worse (even stupid)

> Rules enable Flexible Inference

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 60 / 67

Page 61: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Semantic Reasoning to Unify Multiple Knowledge Models

3

Key OWL Reasoning Constructs> Direct Classes and Property Equivalence

● owl:equivalentClass and owl:equivalentProperty, ● rdfs:subClassOf an subPropertyOf

> Instance Equivalence

● owl:sameAs

> Constraint Class Declaration

● owl:Restriction

> Special Properties

● owl:SymmetricProperty, owl:FunctionalProperty, owl: InverseFunctionalProperty

> Domain and Ranges

● owl:allValuesFrom, owl:someValuesFrom, owl:hasValue

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 61 / 67

Page 62: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Semantic Reasoning to Unify Multiple Knowledge Models

4

Alignment Reasoning

> Unify Different Ontologies● Seamless navigation and queries across diverse

ontological representation (and reasoning)● Logic outlines the alignment, reasoner does the

heavy lifting● Automatic alignment active R&D area

> Examples● ont1:Individual owl:equivalentClass ont2:Person● ont1:friendOf rdfs:subClass ont2:knows

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 62 / 67

Page 63: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Semantic Reasoning to Unify Multiple Knowledge Models

5

Alignment

owl:sameAs

owl:equivalentClass

owl:equivalentPropertyowl:equivalentProperty

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 63 / 67

Page 64: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Semantic Reasoning to Unify Multiple Knowledge Models

6

Setting up a Reasoner in Jena1)Add “Logic” Statements to Jena Model (add anytime)

● model.createResource( ) for Subject and Object● model.createObjectProperty() or Direct static OWL (OWL.sameAs)● model.add( sub, pred, obj)

2)Acquire a Reasoner

● Reasoner reasoner = ReasonerRegistry.getOWLReasoner ( ) // Jena

● Reasoner reasoner = PelletReasonerFactory.theInstance().create(); // Pellet

3)Bind the Reasoner to the Model

● model = ModelFactory.createInfModel(reasoner, model);

> Activation immediate via forward or backward chaining

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 64 / 67

Page 65: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

Semantic Web Programming: Jena Semantic Reasoning to Unify Multiple Knowledge Models

Further Reading

Jena Tutorials: http://kill.devc.at/node/84,http://www.devx.com/semantic/Article/34968, http://www.ibm.com/developerworks/xml/library/j-jena/

Protégé Tutorials:http://protege.stanford.edu/doc/users.html

Pellet Reasoner: http://clarkparsia.com/pellet

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 65 / 67

Page 66: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

The End

Questions

Any questions?

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 66 / 67

Page 67: Semantic Web Semantic Wikis. Programmingdydaktyka:... · SemWikis,Programming GEIST Outline Semantic Web Applications: Semantic Wikis Semantic Wikis and Ontologies Ontology Engineering

SemanticWeb -SemWikis,Programming

GEIST

Outline

Semantic WebApplications:Semantic Wikis

Semantic Wikis andOntologies

OntologyEngineering withSemantic Wikis

Loki

Semantic WebProgramming: Jena

Building,Navigating, andExporting aSemantic Model

Querying theSemantic Model

SemanticReasoning to UnifyMultiple KnowledgeModels

The End

The End

Thank you

Thank you for your attention!

http://geist.agh.edu.pl

GEIST Research Group

Powered by LATEX

GEIST (AGH-UST) SemanticWeb - SemWikis,Programming 2013/2014 67 / 67