SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Integrating a Domain Ontology
Development Environment and
an Ontology Search Engine
Takeshi MORITA a,b
, Noriaki IZUMI c
, and Takahira YAMAGUCHI a
a
Graduate School of Science and Technology, Keio University, Japan
b
Research Fellow of the Japan Society for the Promotion of Science
c
National Institute of Advanced Industrial Science and Technology, Japan
8th Joint Conference on Knowledge - Based Software Engineering 2008
( JCKBSE 08 ) , August 25-28, 2008, Piraeus, Greece
Table of Contents
• Motivation
–Backgrounds, Issues, Goal
• System Overview
• Implementation
• Case Studies
• Conclusions
Backgrounds:
Semantic Web and Domain Ontology
Web Resources
Metadata
Domain Ontologies
People Software Agents
understanding and inference
common
understanding
Large Cost
with building up
manually !
Ontologies on the web
have increased
(over 10,000 as of 2007)
Ontology Search Engines
search ontologies,
classes, properties
texts
Ontology Construction Tools
(semi-) automatic
construction
General
Ontologies
(semi-) automatic
construction
Issues
texts
Ontology Construction Tools
(Text2Onto, OntoLT,
DODDLE-OWL, etc)
General
Ontologies Initial
Domain Ontology
Domain Ontology
Refinement
Knowledge Engineering Techniques
Natural Language Processing
Data-mining Method
Existing
Ontologies
Large Cost with refining
initial domain ontology
Ontology Search Engines
http://xmlns.com/foaf/0.1/Person
http://xmlns.com/wordnet/1.6/Person
http://swrc.ontoware.org/ontology#Person
http://www.w3.org/2000/10/swap/pim/contact#Person
http://www.aktors.org/ontology/portal#Person
http://ebiquity.umbc.edu/ontology/person.owl#Person
http://www.w3.org/2002/03owlt/imports/support003-A#Person
http://inferenceweb.stanford.edu/2004/03/iw.owl#Person
・・・・・
Ranking ontologies
by their popularity
Ontologies on the web
Not all popular ontologies are reusable
Goal
Texts
DODDLE-OWL:
A Domain Ontlogy rapiD
DeveLopment Environment
Web Ontology Language
extension
DODDLE-OWL:
A Domain Ontlogy rapiD
DeveLopment Environment
Web Ontology Language
extension
Taxonomic
Relationships
Other
Relationships
Domain OntologyDomain Ontology
Previous Work
WordNet EDR
Refer
General OntologiesGeneral Ontologies
Proposal
Ontology Alignment Existing
Ontologies
Acquiring Ontologies
Ranking Ontologies
Extracting Elements
System Overview
Ontology Alignment
Ontology Refinement
Domain Ontology
Input Term Selection
Ranking Ontologies
Reference
Ontologies
Input Concept
Selection
Extracting Elements
Acquiring Ontologies
Ontology Construction
Texts
Acquiring and Ranking Ontologies
Input Terms
Existing Ontologies
Step5: Removing the unnecessary properties
Step6: Extracting Elements
Step7: Ranking Ontologies
URIs of
Classes
Step2: Acquiring the properties
rdfs:domain
rdfs:range
Property
Class
Class
URIs of
Properties
Step3: Acquiring the classes
rdfs:domain
rdfs:range
Property
Class
Class
rdfs:label
Step1: Acquiring the classes and properties
Property “Input Term”
Class “Input Term”
rdfs:label
Step4: Acquiring the ontologies
URIs of
Classes
Step6: Extracting Elements
A existing ontology
described in OWL
Concepts
(classes and properties)
Labels of Concepts
Descriptions of
Concepts
Super-subrelations
Other relations
Ontological Elements
Finding concepts
related to input terms
Word sense
disambiguation
Constructing
Taxonomic
relationships
Constructing
Other relationships
Essential for
ontologies
Step7: Ranking Ontologies
• Ranking measure
–The ratio of input concept in the
ontology (Main)
• Proposed
–OntoRank (Complementary)
• used by Swoogle
• Ranking by popularity
Implementation
• Java Language
• Using Library
– Jena: a Java framework for building Semantic Web
applications
• Exporting ontology in OWL format
• Extracting elements with SPARQL
– JWNL: Java WordNet Library
– SS-Tagger: English Tagger
– GoSen: morphological analysis library for Japanese
• Extended Modules
– Acquiring Ontologies Module
– Extracting Elements Module
Acquiring Ontologies Module
Type Swoogle Web Service Input Output
(1) Search ontology search keyword
List of SWO which relates to
the input search keyword
(3) Search terms search keyword
List of SWT which relates to
the input search keyword
(4)
Digest
semantic web document
SWD
Swoogle Metadata
for the input SWD
(13)
List documents
using term
SWT
List of SWD defining/referencing/
populating the input SWT
(16)
List domain classes
of a property
property
List of classes which are used as
the rdfs:domain of the input property
(17)
List properties
of a domain class
class
List of properties which use
the input class as their rdfs:domain
(18)
List range classes
of a property
property
List of classes which are used as
the rdfs:range of the input property
(19)
List properties
of a range class
class
List of properties which use
the input class as their rdfs:range
The selected Swoogle web services and their inputs and outputs
[1] Search ontology
[2] Search documents
[3] Search terms
[4] Digest semantic web document
[5] Digest semantic web term
[6] Digest semantic web namespace
[7] list document out-links
[8] list document in-links
[9] list terms in document
[10] list namespaces used by document
[11] list terms using namespace
[12] list documents using namespace
[13] list documents using term
[14] list term definition
[15] list definition dependency
[16] list domain classes of a property
[17] list properties of a domain class
[18] list range classes of a property
[19] list properties of a range class
Swoogle provides 19 types of search services using REST interface
Selecting 8 types of REST web-service interfaces,
which can be used for acquiring existing ontologies
An Example of Swoogle Web Service
http://logos.cs.umbc.edu:8080/swoogle31/q?
& queryType=search_swt
& searchString=(label:person) (type:owl.class OR type.rdfs.class)
&key=demo
A REST query for searching person classes
service URI
parameters
<rdf:RDF>
<swoogle:QueryResponse>...
<swoogle:hasResult>
<rdf:Seq>
<rdf:li>
<wob:SemanticWebTerm rdf:about="http://xmlns.com/foaf/0.1/Person">
<swoogle:hasTermRank>16848.3765738951</swoogle:hasTermRank>
<swoogle:usesNamespace>
<wob:SemanticWebNamespace rdf:about="http://xmlns.com/foaf/0.1/"/>
</swoogle:usesNamespace>
<swoogle:hasLocalname>Person</swoogle:hasLocalname>
</wob:SemanticWebTerm>
</rdf:li>
<rdf:li><wob:SemanticWebTerm rdf:about="http://xmlns.com/wordnet/1.6/Person"> ..... </rdf:li>
<rdf:li><wob:SemanticWebTerm rdf:about="http://swrc.ontoware.org/ontology#Person"> .....</rdf:li>
</rdf:Seq>
</swoogle:hasResult>
</swoogle:QueryResponse>
</rdf:RDF>
Output: person classes and their attributes
http://xmlns.com/foaf/0.1/Person
http://xmlns.com/wordnet/1.6/Person
http://swrc.ontoware.org/ontology#Person
http://www.w3.org/2000/10/swap/pim/contact#Person
http://www.aktors.org/ontology/portal#Person
http://ebiquity.umbc.edu/ontology/person.owl#Person
http://www.w3.org/2002/03owlt/imports/support003-A#Person
http://inferenceweb.stanford.edu/2004/03/iw.owl#Person
・・・・・
Extracting classes using Jena
Acquiring Ontologies Module
Input Terms
URIs of
Classes
URIs of
Properties
Existing Ontologies
Step2: Acquiring the properties
rdfs:domain
rdfs:range
Property
Step3: Acquiring the classes
rdfs:domain
rdfs:range
Property
Step4: Acquiring the ontologies
Step5: Removing the unnecessary properties
Step6: Extracting Elements
Step7: Ranking Ontologies
rdfs:label
Step1: Acquiring the classes and properties
Property “Input Term”
Class “Input Term”
rdfs:label
Class
Class
Class
Class
URIs of
Classes
(3) Search terms
(17)
List properties
of a domain class
(19)
List properties
of a range class
(16)
List domain classes
of a property
(18)
List range classes
of a property
(1) Search ontology
(4)
Digest semantic
web document
(13)
List documents
using term
Step1
Step2
Step3
Step4
Extracting Elements Module
PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema#
SELECT ?label ?description
WHERE {
{ rdfs:label ?label} UNION { rdfs:comment ?description}
}
An extracting labels and descriptions template for RDFS and OWL
The five types of templates described in SPARQL:
classes, properties, labels and descriptions,
super-subrelations, and other relations
URI1 rdfs:label goods
URI2 rdfs:label payment
URI3 rdfs:label price
URI4 rdfs:label party
URI5 rdfs:label person
Ontology
goods, payment, price, party, person
URI1 rdfs:label goods
URI2 rdfs:label payment
URI3 rdfs:label price
URI4 rdfs:label party
URI5 rdfs:label person
Ontology
price
?concept ?conceptURI3 URI3
Case Studies
Target Domain A particular field of law
Input Document CISG (Contract for the International
Sale of Goods) Part-II
Language English
# of Input Terms 46
Specification
We evaluated our proposed method
especially for the acquiring and ranking
of existing ontologies.
Results
Rank
# of Input Concepts
(OntoRank)
URL of Ontology
1 15 (0.881) http://www.loa-cnr.it/ontologies/OWN/OWN.owl
2 15 (0.881) http://www.w3.org/2001/sw/BestPractices/WNET/wnNounsyn_v7.owl
3 12 (642.815) http://morpheus.cs.umbc.edu/aks1/ontosem.owl
4 12 (0.860) http://www.cs.umbc.edu/~aks1/ontosem.owl
5 11 (0.735) http://rhizomik.net/ontologies/2005/07/FrameNet_1.1_inferred.owl
6 11 (0.726) http://rhizomik.upf.edu/ontologies/2005/07/FrameNet_1.1.owl
7 11 (0.726) http://rhizomik.net/ontologies/2005/07/FrameNet_1.1.owl
8 10 (0.875) http://athena.ics.forth.gr:9090/RDF/VRP/Examples/DCD100.rdf
9 10 (0.875) http://139.91.183.30:9090/RDF/VRP/Examples/DCD100.rdf
10 9 (1.701) http://www.cyc.com/2004/06/04/cyc
Coverage Rate of Input Terms 0.717(33/46)
# Acquired Ontologies 120
# Acquired Classes 331
# Acquired Properties 558
The top 10 existing ontologies acquired
using Swoogle Sorted by ratio of input concept
General Ontologies
(WordNet, FrameNet, Cyc)
E-Commerce Ontologies
46 Input Terms
acceptance act addition address
assent circumstance
communication
system
conduct
contract counteroffer day delay
delivery discrepancy dispatch effect
envelope goods holiday indication
intention invitation letter modification
offer offeror offeree party
payment person place of business price
proposal quality quantity rejection
reply residence revocation silence
speech act telephone telex time
transmission withdrawal
Red colored input terms were included
in the E-commerce ontology.
Conclusions
• Integrating DODDLE-OWL and
Swoogle
• Reusing existing ontologies for domain
ontology construction
• Acquiring Ontologies
• Ranking Ontologies
• Extracting Elements
• Case Studies
• Acquiring and ranking of existing
ontologies for a particular field of law
• Acquired E-commerce ontologies which
included several legal concepts
Future Works
• Putting similar ontologies together
– Different versions of the same ontology
– Same ontologies, but with a different URL
• Constructing Domain Ontology using
ontology alignment from several
existing ontologies
Thank you for your attention
DODDLE-OWL has been released.
Please visit this web site, if you like it.
http://doddle-owl.sourceforge.net

Weitere ähnliche Inhalte

Was ist angesagt?

Java Input Output (java.io.*)
Java Input Output (java.io.*)Java Input Output (java.io.*)
Java Input Output (java.io.*)Om Ganesh
 
Bio ontologies and semantic technologies
Bio ontologies and semantic technologiesBio ontologies and semantic technologies
Bio ontologies and semantic technologiesProf. Wim Van Criekinge
 
Chado for evolutionary biology
Chado for evolutionary biologyChado for evolutionary biology
Chado for evolutionary biologyChris Mungall
 
OOP with Java - Continued
OOP with Java - Continued OOP with Java - Continued
OOP with Java - Continued Hitesh-Java
 
Chapter 12 - File Input and Output
Chapter 12 - File Input and OutputChapter 12 - File Input and Output
Chapter 12 - File Input and OutputEduardo Bergavera
 
Document Classification using the Python Natural Language Toolkit
Document Classification using the Python Natural Language ToolkitDocument Classification using the Python Natural Language Toolkit
Document Classification using the Python Natural Language ToolkitBen Healey
 
Lucene And Solr Document Classification
Lucene And Solr Document ClassificationLucene And Solr Document Classification
Lucene And Solr Document ClassificationAlessandro Benedetti
 
File Input & Output
File Input & OutputFile Input & Output
File Input & OutputPRN USM
 
WebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPediaWebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPediaKatrien Verbert
 

Was ist angesagt? (16)

Java Input Output (java.io.*)
Java Input Output (java.io.*)Java Input Output (java.io.*)
Java Input Output (java.io.*)
 
Chado introduction
Chado introductionChado introduction
Chado introduction
 
Bio ontologies and semantic technologies
Bio ontologies and semantic technologiesBio ontologies and semantic technologies
Bio ontologies and semantic technologies
 
Chado-XML
Chado-XMLChado-XML
Chado-XML
 
Chado for evolutionary biology
Chado for evolutionary biologyChado for evolutionary biology
Chado for evolutionary biology
 
eureka09
eureka09eureka09
eureka09
 
Jena
JenaJena
Jena
 
7. Multithreading
7. Multithreading7. Multithreading
7. Multithreading
 
Java I/o streams
Java I/o streamsJava I/o streams
Java I/o streams
 
OOP with Java - Continued
OOP with Java - Continued OOP with Java - Continued
OOP with Java - Continued
 
Chapter 12 - File Input and Output
Chapter 12 - File Input and OutputChapter 12 - File Input and Output
Chapter 12 - File Input and Output
 
Document Classification using the Python Natural Language Toolkit
Document Classification using the Python Natural Language ToolkitDocument Classification using the Python Natural Language Toolkit
Document Classification using the Python Natural Language Toolkit
 
Lucene And Solr Document Classification
Lucene And Solr Document ClassificationLucene And Solr Document Classification
Lucene And Solr Document Classification
 
Java I/O
Java I/OJava I/O
Java I/O
 
File Input & Output
File Input & OutputFile Input & Output
File Input & Output
 
WebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPediaWebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPedia
 

Andere mochten auch

EDDI 2011 - A Generic Multilevel Approach for Designing Domain Ontologies Bas...
EDDI 2011 - A Generic Multilevel Approach for Designing Domain Ontologies Bas...EDDI 2011 - A Generic Multilevel Approach for Designing Domain Ontologies Bas...
EDDI 2011 - A Generic Multilevel Approach for Designing Domain Ontologies Bas...Dr.-Ing. Thomas Hartmann
 
Sync It Up
Sync It UpSync It Up
Sync It Upsvoisen
 
Data sync on iOS with Couchbase Mobile
Data sync on iOS with Couchbase MobileData sync on iOS with Couchbase Mobile
Data sync on iOS with Couchbase MobileThiago Alencar
 
SQLite Techniques
SQLite TechniquesSQLite Techniques
SQLite Techniquesjoaopmaia
 
MR^3: Meta-Model Management based on RDFs Revision Reflection
MR^3: Meta-Model Management based on RDFs Revision ReflectionMR^3: Meta-Model Management based on RDFs Revision Reflection
MR^3: Meta-Model Management based on RDFs Revision ReflectionTakeshi Morita
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationUlf Wendel
 

Andere mochten auch (7)

EDDI 2011 - A Generic Multilevel Approach for Designing Domain Ontologies Bas...
EDDI 2011 - A Generic Multilevel Approach for Designing Domain Ontologies Bas...EDDI 2011 - A Generic Multilevel Approach for Designing Domain Ontologies Bas...
EDDI 2011 - A Generic Multilevel Approach for Designing Domain Ontologies Bas...
 
Sync It Up
Sync It UpSync It Up
Sync It Up
 
C SQLite usage
C SQLite usageC SQLite usage
C SQLite usage
 
Data sync on iOS with Couchbase Mobile
Data sync on iOS with Couchbase MobileData sync on iOS with Couchbase Mobile
Data sync on iOS with Couchbase Mobile
 
SQLite Techniques
SQLite TechniquesSQLite Techniques
SQLite Techniques
 
MR^3: Meta-Model Management based on RDFs Revision Reflection
MR^3: Meta-Model Management based on RDFs Revision ReflectionMR^3: Meta-Model Management based on RDFs Revision Reflection
MR^3: Meta-Model Management based on RDFs Revision Reflection
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 

Ähnlich wie Integrating a Domain Ontology Development Environment and an Ontology Search Engine

Ontology mapping for the semantic web
Ontology mapping for the semantic webOntology mapping for the semantic web
Ontology mapping for the semantic webWorawith Sangkatip
 
Ontologies and semantic web
Ontologies and semantic webOntologies and semantic web
Ontologies and semantic webStanley Wang
 
ACS 248th Paper 146 VIVO/ScientistsDB Integration into Eureka
ACS 248th Paper 146 VIVO/ScientistsDB Integration into EurekaACS 248th Paper 146 VIVO/ScientistsDB Integration into Eureka
ACS 248th Paper 146 VIVO/ScientistsDB Integration into EurekaStuart Chalk
 
ontology.ppt
ontology.pptontology.ppt
ontology.pptPrerak10
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic WebIvan Herman
 
The nature.com ontologies portal: nature.com/ontologies
The nature.com ontologies portal: nature.com/ontologiesThe nature.com ontologies portal: nature.com/ontologies
The nature.com ontologies portal: nature.com/ontologiesTony Hammond
 
Open Access Publishing on the Semantic Web
Open Access Publishing  on the  Semantic WebOpen Access Publishing  on the  Semantic Web
Open Access Publishing on the Semantic WebRichard Cave
 
Semantic Web: introduction & overview
Semantic Web: introduction & overviewSemantic Web: introduction & overview
Semantic Web: introduction & overviewAmit Sheth
 
Linked Open Data Visualization
Linked Open Data VisualizationLinked Open Data Visualization
Linked Open Data VisualizationLaura Po
 
Corrib.org - OpenSource and Research
Corrib.org - OpenSource and ResearchCorrib.org - OpenSource and Research
Corrib.org - OpenSource and Researchadameq
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosEUCLID project
 
Semantic Web: Technolgies and Applications for Real-World
Semantic Web: Technolgies and Applications for Real-WorldSemantic Web: Technolgies and Applications for Real-World
Semantic Web: Technolgies and Applications for Real-WorldAmit Sheth
 
Semantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: IntroductionSemantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: IntroductionKent State University
 
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge GraphsOBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphsdgarijo
 
Structured Dynamics' Semantic Technologies Product Stack
Structured Dynamics' Semantic Technologies Product StackStructured Dynamics' Semantic Technologies Product Stack
Structured Dynamics' Semantic Technologies Product StackMike Bergman
 
Building a Semantic search Engine in a library
Building a Semantic search Engine in a libraryBuilding a Semantic search Engine in a library
Building a Semantic search Engine in a librarySEECS NUST
 

Ähnlich wie Integrating a Domain Ontology Development Environment and an Ontology Search Engine (20)

Ontology mapping for the semantic web
Ontology mapping for the semantic webOntology mapping for the semantic web
Ontology mapping for the semantic web
 
Ontologies and semantic web
Ontologies and semantic webOntologies and semantic web
Ontologies and semantic web
 
ACS 248th Paper 146 VIVO/ScientistsDB Integration into Eureka
ACS 248th Paper 146 VIVO/ScientistsDB Integration into EurekaACS 248th Paper 146 VIVO/ScientistsDB Integration into Eureka
ACS 248th Paper 146 VIVO/ScientistsDB Integration into Eureka
 
ontology.ppt
ontology.pptontology.ppt
ontology.ppt
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
 
The nature.com ontologies portal: nature.com/ontologies
The nature.com ontologies portal: nature.com/ontologiesThe nature.com ontologies portal: nature.com/ontologies
The nature.com ontologies portal: nature.com/ontologies
 
Open Access Publishing on the Semantic Web
Open Access Publishing  on the  Semantic WebOpen Access Publishing  on the  Semantic Web
Open Access Publishing on the Semantic Web
 
Semantic Web: introduction & overview
Semantic Web: introduction & overviewSemantic Web: introduction & overview
Semantic Web: introduction & overview
 
Linked Open Data Visualization
Linked Open Data VisualizationLinked Open Data Visualization
Linked Open Data Visualization
 
Corrib.org - OpenSource and Research
Corrib.org - OpenSource and ResearchCorrib.org - OpenSource and Research
Corrib.org - OpenSource and Research
 
Metadata and me
Metadata and meMetadata and me
Metadata and me
 
Usage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application ScenariosUsage of Linked Data: Introduction and Application Scenarios
Usage of Linked Data: Introduction and Application Scenarios
 
From ontology to wiki
From ontology to wikiFrom ontology to wiki
From ontology to wiki
 
Semantic Web: Technolgies and Applications for Real-World
Semantic Web: Technolgies and Applications for Real-WorldSemantic Web: Technolgies and Applications for Real-World
Semantic Web: Technolgies and Applications for Real-World
 
Semantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: IntroductionSemantic Web, Ontology, and Ontology Learning: Introduction
Semantic Web, Ontology, and Ontology Learning: Introduction
 
Ozr2013
Ozr2013Ozr2013
Ozr2013
 
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge GraphsOBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
 
Structured Dynamics' Semantic Technologies Product Stack
Structured Dynamics' Semantic Technologies Product StackStructured Dynamics' Semantic Technologies Product Stack
Structured Dynamics' Semantic Technologies Product Stack
 
Building a Semantic search Engine in a library
Building a Semantic search Engine in a libraryBuilding a Semantic search Engine in a library
Building a Semantic search Engine in a library
 
20110728 datalift-rpi-troy
20110728 datalift-rpi-troy20110728 datalift-rpi-troy
20110728 datalift-rpi-troy
 

Integrating a Domain Ontology Development Environment and an Ontology Search Engine

  • 1. Integrating a Domain Ontology Development Environment and an Ontology Search Engine Takeshi MORITA a,b , Noriaki IZUMI c , and Takahira YAMAGUCHI a a Graduate School of Science and Technology, Keio University, Japan b Research Fellow of the Japan Society for the Promotion of Science c National Institute of Advanced Industrial Science and Technology, Japan 8th Joint Conference on Knowledge - Based Software Engineering 2008 ( JCKBSE 08 ) , August 25-28, 2008, Piraeus, Greece
  • 2. Table of Contents • Motivation –Backgrounds, Issues, Goal • System Overview • Implementation • Case Studies • Conclusions
  • 3. Backgrounds: Semantic Web and Domain Ontology Web Resources Metadata Domain Ontologies People Software Agents understanding and inference common understanding Large Cost with building up manually ! Ontologies on the web have increased (over 10,000 as of 2007) Ontology Search Engines search ontologies, classes, properties texts Ontology Construction Tools (semi-) automatic construction General Ontologies
  • 4. (semi-) automatic construction Issues texts Ontology Construction Tools (Text2Onto, OntoLT, DODDLE-OWL, etc) General Ontologies Initial Domain Ontology Domain Ontology Refinement Knowledge Engineering Techniques Natural Language Processing Data-mining Method Existing Ontologies Large Cost with refining initial domain ontology Ontology Search Engines http://xmlns.com/foaf/0.1/Person http://xmlns.com/wordnet/1.6/Person http://swrc.ontoware.org/ontology#Person http://www.w3.org/2000/10/swap/pim/contact#Person http://www.aktors.org/ontology/portal#Person http://ebiquity.umbc.edu/ontology/person.owl#Person http://www.w3.org/2002/03owlt/imports/support003-A#Person http://inferenceweb.stanford.edu/2004/03/iw.owl#Person ・・・・・ Ranking ontologies by their popularity Ontologies on the web Not all popular ontologies are reusable
  • 5. Goal Texts DODDLE-OWL: A Domain Ontlogy rapiD DeveLopment Environment Web Ontology Language extension DODDLE-OWL: A Domain Ontlogy rapiD DeveLopment Environment Web Ontology Language extension Taxonomic Relationships Other Relationships Domain OntologyDomain Ontology Previous Work WordNet EDR Refer General OntologiesGeneral Ontologies Proposal Ontology Alignment Existing Ontologies Acquiring Ontologies Ranking Ontologies Extracting Elements
  • 6. System Overview Ontology Alignment Ontology Refinement Domain Ontology Input Term Selection Ranking Ontologies Reference Ontologies Input Concept Selection Extracting Elements Acquiring Ontologies Ontology Construction Texts
  • 7. Acquiring and Ranking Ontologies Input Terms Existing Ontologies Step5: Removing the unnecessary properties Step6: Extracting Elements Step7: Ranking Ontologies URIs of Classes Step2: Acquiring the properties rdfs:domain rdfs:range Property Class Class URIs of Properties Step3: Acquiring the classes rdfs:domain rdfs:range Property Class Class rdfs:label Step1: Acquiring the classes and properties Property “Input Term” Class “Input Term” rdfs:label Step4: Acquiring the ontologies URIs of Classes
  • 8. Step6: Extracting Elements A existing ontology described in OWL Concepts (classes and properties) Labels of Concepts Descriptions of Concepts Super-subrelations Other relations Ontological Elements Finding concepts related to input terms Word sense disambiguation Constructing Taxonomic relationships Constructing Other relationships Essential for ontologies
  • 9. Step7: Ranking Ontologies • Ranking measure –The ratio of input concept in the ontology (Main) • Proposed –OntoRank (Complementary) • used by Swoogle • Ranking by popularity
  • 10. Implementation • Java Language • Using Library – Jena: a Java framework for building Semantic Web applications • Exporting ontology in OWL format • Extracting elements with SPARQL – JWNL: Java WordNet Library – SS-Tagger: English Tagger – GoSen: morphological analysis library for Japanese • Extended Modules – Acquiring Ontologies Module – Extracting Elements Module
  • 11. Acquiring Ontologies Module Type Swoogle Web Service Input Output (1) Search ontology search keyword List of SWO which relates to the input search keyword (3) Search terms search keyword List of SWT which relates to the input search keyword (4) Digest semantic web document SWD Swoogle Metadata for the input SWD (13) List documents using term SWT List of SWD defining/referencing/ populating the input SWT (16) List domain classes of a property property List of classes which are used as the rdfs:domain of the input property (17) List properties of a domain class class List of properties which use the input class as their rdfs:domain (18) List range classes of a property property List of classes which are used as the rdfs:range of the input property (19) List properties of a range class class List of properties which use the input class as their rdfs:range The selected Swoogle web services and their inputs and outputs [1] Search ontology [2] Search documents [3] Search terms [4] Digest semantic web document [5] Digest semantic web term [6] Digest semantic web namespace [7] list document out-links [8] list document in-links [9] list terms in document [10] list namespaces used by document [11] list terms using namespace [12] list documents using namespace [13] list documents using term [14] list term definition [15] list definition dependency [16] list domain classes of a property [17] list properties of a domain class [18] list range classes of a property [19] list properties of a range class Swoogle provides 19 types of search services using REST interface Selecting 8 types of REST web-service interfaces, which can be used for acquiring existing ontologies
  • 12. An Example of Swoogle Web Service http://logos.cs.umbc.edu:8080/swoogle31/q? & queryType=search_swt & searchString=(label:person) (type:owl.class OR type.rdfs.class) &key=demo A REST query for searching person classes service URI parameters <rdf:RDF> <swoogle:QueryResponse>... <swoogle:hasResult> <rdf:Seq> <rdf:li> <wob:SemanticWebTerm rdf:about="http://xmlns.com/foaf/0.1/Person"> <swoogle:hasTermRank>16848.3765738951</swoogle:hasTermRank> <swoogle:usesNamespace> <wob:SemanticWebNamespace rdf:about="http://xmlns.com/foaf/0.1/"/> </swoogle:usesNamespace> <swoogle:hasLocalname>Person</swoogle:hasLocalname> </wob:SemanticWebTerm> </rdf:li> <rdf:li><wob:SemanticWebTerm rdf:about="http://xmlns.com/wordnet/1.6/Person"> ..... </rdf:li> <rdf:li><wob:SemanticWebTerm rdf:about="http://swrc.ontoware.org/ontology#Person"> .....</rdf:li> </rdf:Seq> </swoogle:hasResult> </swoogle:QueryResponse> </rdf:RDF> Output: person classes and their attributes http://xmlns.com/foaf/0.1/Person http://xmlns.com/wordnet/1.6/Person http://swrc.ontoware.org/ontology#Person http://www.w3.org/2000/10/swap/pim/contact#Person http://www.aktors.org/ontology/portal#Person http://ebiquity.umbc.edu/ontology/person.owl#Person http://www.w3.org/2002/03owlt/imports/support003-A#Person http://inferenceweb.stanford.edu/2004/03/iw.owl#Person ・・・・・ Extracting classes using Jena
  • 13. Acquiring Ontologies Module Input Terms URIs of Classes URIs of Properties Existing Ontologies Step2: Acquiring the properties rdfs:domain rdfs:range Property Step3: Acquiring the classes rdfs:domain rdfs:range Property Step4: Acquiring the ontologies Step5: Removing the unnecessary properties Step6: Extracting Elements Step7: Ranking Ontologies rdfs:label Step1: Acquiring the classes and properties Property “Input Term” Class “Input Term” rdfs:label Class Class Class Class URIs of Classes (3) Search terms (17) List properties of a domain class (19) List properties of a range class (16) List domain classes of a property (18) List range classes of a property (1) Search ontology (4) Digest semantic web document (13) List documents using term Step1 Step2 Step3 Step4
  • 14. Extracting Elements Module PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema# SELECT ?label ?description WHERE { { rdfs:label ?label} UNION { rdfs:comment ?description} } An extracting labels and descriptions template for RDFS and OWL The five types of templates described in SPARQL: classes, properties, labels and descriptions, super-subrelations, and other relations URI1 rdfs:label goods URI2 rdfs:label payment URI3 rdfs:label price URI4 rdfs:label party URI5 rdfs:label person Ontology goods, payment, price, party, person URI1 rdfs:label goods URI2 rdfs:label payment URI3 rdfs:label price URI4 rdfs:label party URI5 rdfs:label person Ontology price ?concept ?conceptURI3 URI3
  • 15. Case Studies Target Domain A particular field of law Input Document CISG (Contract for the International Sale of Goods) Part-II Language English # of Input Terms 46 Specification We evaluated our proposed method especially for the acquiring and ranking of existing ontologies.
  • 16. Results Rank # of Input Concepts (OntoRank) URL of Ontology 1 15 (0.881) http://www.loa-cnr.it/ontologies/OWN/OWN.owl 2 15 (0.881) http://www.w3.org/2001/sw/BestPractices/WNET/wnNounsyn_v7.owl 3 12 (642.815) http://morpheus.cs.umbc.edu/aks1/ontosem.owl 4 12 (0.860) http://www.cs.umbc.edu/~aks1/ontosem.owl 5 11 (0.735) http://rhizomik.net/ontologies/2005/07/FrameNet_1.1_inferred.owl 6 11 (0.726) http://rhizomik.upf.edu/ontologies/2005/07/FrameNet_1.1.owl 7 11 (0.726) http://rhizomik.net/ontologies/2005/07/FrameNet_1.1.owl 8 10 (0.875) http://athena.ics.forth.gr:9090/RDF/VRP/Examples/DCD100.rdf 9 10 (0.875) http://139.91.183.30:9090/RDF/VRP/Examples/DCD100.rdf 10 9 (1.701) http://www.cyc.com/2004/06/04/cyc Coverage Rate of Input Terms 0.717(33/46) # Acquired Ontologies 120 # Acquired Classes 331 # Acquired Properties 558 The top 10 existing ontologies acquired using Swoogle Sorted by ratio of input concept General Ontologies (WordNet, FrameNet, Cyc) E-Commerce Ontologies
  • 17. 46 Input Terms acceptance act addition address assent circumstance communication system conduct contract counteroffer day delay delivery discrepancy dispatch effect envelope goods holiday indication intention invitation letter modification offer offeror offeree party payment person place of business price proposal quality quantity rejection reply residence revocation silence speech act telephone telex time transmission withdrawal Red colored input terms were included in the E-commerce ontology.
  • 18. Conclusions • Integrating DODDLE-OWL and Swoogle • Reusing existing ontologies for domain ontology construction • Acquiring Ontologies • Ranking Ontologies • Extracting Elements • Case Studies • Acquiring and ranking of existing ontologies for a particular field of law • Acquired E-commerce ontologies which included several legal concepts
  • 19. Future Works • Putting similar ontologies together – Different versions of the same ontology – Same ontologies, but with a different URL • Constructing Domain Ontology using ontology alignment from several existing ontologies
  • 20. Thank you for your attention DODDLE-OWL has been released. Please visit this web site, if you like it. http://doddle-owl.sourceforge.net