Presentation : Konstantinos Kanaris.  What is Jena?  Usage of Jena  Main Concepts  Main Components  Storage Models  OWL API  RDF API  Reasoning.

Slides:



Advertisements
Similar presentations
Dr. Leo Obrst MITRE Information Semantics Information Discovery & Understanding Command & Control Center February 6, 2014February 6, 2014February 6, 2014.
Advertisements

ACACIA in short… Objectives: Offer methodological and software support (i.e. models, methods and tools) for construction, management and diffusion of.
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
Improvements on the benchmark suites. October 10th © Raúl García-Castro Improvements on the benchmark suites Raúl García-Castro October 10th, 2005.
Method for developing the benchmark suites. October 10th © Raúl García-Castro Method for developing the benchmark suites Raúl García-Castro October.
Chronos: A Tool for Handling Temporal Ontologies in Protégé
RDF Schemata (with apologies to the W3C, the plural is not ‘schemas’) CSCI 7818 – Web Technologies 14 November 2001 Van Lepthien.
An Introduction to RDF(S) and a Quick Tour of OWL
1 UIM with DAML-S Service Description Team Members: Jean-Yves Ouellet Kevin Lam Yun Xu.
E © 2002 Dario Aganovic Resource Description Framework Schema (RDFS) Dario Aganovic Industrial PhD-student NPI Production Kista, Ericsson AB and Production.
JENA –A SEMANTIC WEB TOOL by Ranjani Sankaran & krishna Priyanka Chebrolu.
Progress Update Semantic Web, Ontology Integration, and Web Query Seminar Department of Computing David George.
1 Ontology Language Comparisons doug foxvog 16 September 2004.
Building and Analyzing Social Networks Web Data and Semantics in Social Network Applications Dr. Bhavani Thuraisingham February 15, 2013.
Semantic Web Tools Vagan Terziyan Department of Mathematical Information Technology, University of Jyvaskyla ;
RDF(S) Tools Adrian Pop, Programming Environments Laboratory Linköping University.
CMSC838 Project Presentation An Ontology-based Approach for Managing Software Components by Vladimir Kolovski.
Using Java in Linked Data Applications Fuming Shih Oct 12.
Triple Stores.
RDF: Concepts and Abstract Syntax W3C Recommendation 10 February Michael Felderer Digital Enterprise.
Managing Large RDF Graphs (Infinite Graph) Vaibhav Khadilkar Department of Computer Science, The University of Texas at Dallas FEARLESS engineering.
BiodiversityWorld GRID Workshop NeSC, Edinburgh – 30 June and 1 July 2005 Metadata Agents and Semantic Mediation Mikhaila Burgess Cardiff University.
Practical RDF Chapter 1. RDF: An Introduction
INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning.
Logics for Data and Knowledge Representation
The Semantic Web Web Science Systems Development Spring 2015.
1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Scripting the Semantic Web Marian Babik, Ladislav Hluchy Intelligent.
Building an Ontology of Semantic Web Techniques Utilizing RDF Schema and OWL 2.0 in Protégé 4.0 Presented by: Naveed Javed Nimat Umar Syed.
The Jena RDF Framework Konstantinos Tzonas. Contents What is Jena Capabilities of Jena Basic notions RDF concepts in Jena Persistence Ontology management.
Master Informatique 1 Semantic Technologies Part 11Direct Mapping Werner Nutt.
Ontology Query. What is an Ontology Ontologies resemble faceted taxonomies but use richer semantic relationships among terms and attributes, as well as.
Metadata. Generally speaking, metadata are data and information that describe and model data and information For example, a database schema is the metadata.
Jena2: a semantic web toolkit
Export experiments in Corese. October 10th Export experiments in Corese Olivier Corby October 10th, 2005 Interoperability Working Days October 10th-11th,
©Ferenc Vajda 1 Semantic Grid Ferenc Vajda Computer and Automation Research Institute Hungarian Academy of Sciences.
Deep integration of Python with Semantic Web technologies Marian Babik, Ladislav Hluchy Intelligent and Knowledge Technologies Group Institute of Informatics,
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
1 Artificial Intelligence Applications Institute Centre for Intelligent Systems and their Applications Stuart Aitken Artificial Intelligence Applications.
Of 35 lecture 5: rdf schema. of 35 RDF and RDF Schema basic ideas ece 627, winter ‘132 RDF is about graphs – it creates a graph structure to represent.
Introduction to the Semantic Web and Linked Data Module 1 - Unit 2 The Semantic Web and Linked Data Concepts 1-1 Library of Congress BIBFRAME Pilot Training.
Organization of the Lab Three meetings:  today: general introduction, first steps in Protégé OWL  November 19: second part of tutorial  December 3:
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
ELIS – Multimedia Lab PREMIS OWL Sam Coppens Multimedia Lab Department of Electronics and Information Systems Faculty of Engineering Ghent University.
Doc.: IEEE /0169r0 Submission Joe Kwak (InterDigital) Slide 1 November 2010 Slide 1 Overview of Resource Description Framework (RFD/XML) Date:
Handling Semantic Data for Software Projects Data Management CSE G674 – SW Engineering Project.
Trait ontology approach Marie-Angélique LAPORTE NCEAS June 7 th 2010.
Ontology Access in Grids with WS-DAIOnt and the RDF(S) Realization Semantic Grid Workshop GGF16, Athens, 15th Feb 2006 Ontology Engineering Group, UPM.
Intelligent Space 國立台灣大學資訊工程研究所 智慧型空間實驗室 Jena: A Semantic Web Framework for Java Reporter C.F.Liao ( 廖峻鋒 ) May 17,2007.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Java Programming, Second Edition Chapter Twelve Advanced Inheritance Concepts.
Classes, Interfaces and Packages
Extending the Metadata Registry for Semantic Web - Enforcing the MDR for supporting ontology concept - May 28, 2008 ISO/IEC JTC 1/SC 32 WG 2 Meeting Sydney,
RDF storages and indexes Maciej Janik September 1, 2005 Enterprise Integration – Semantic Web.
Semantic Interoperability in GIS N. L. Sarda Suman Somavarapu.
MTA SZTAKI Department of Distributed Systems Hogyan mixeljünk össze webszolgáltatásokat, ontológiákat és ágenseket? Micsik András.
Sesame A generic architecture for storing and querying RDF and RDFs Written by Jeen Broekstra, Arjohn Kampman Summarized by Gihyun Gong.
Ontology Technology applied to Catalogues Paul Kopp.
Jena 2 Ontology API 4/28/2017.
26/02/ WSMO – UDDI Semantics Review Taxonomies and Value Sets Discussion Paper Max Voskob – February 2004 UDDI Spec TC V4 Requirements.
MEKON & HOBO Java Frameworks for building Ontology-Driven Applications Current use cases:  Almost (!) products:  Knowledge-driven clinical documentation.
Introduction  Model contains different kinds of elements (such as hosts, databases, web servers, applications, etc)  Relations between these elements.
OWL (Ontology Web Language and Applications) Maw-Sheng Horng Department of Mathematics and Information Education National Taipei University of Education.
Knowledge Representation XI – IKT437 Part II OWL, SPARQL, …
Jena Ontology API 4/14/2018.
Building Trustworthy Semantic Webs
Knowledge Representation Part II
Analyzing and Securing Social Networks
The Jena RDF Framework Konstantinos Tzonas.
LOD reference architecture
Presentation transcript:

Presentation : Konstantinos Kanaris

 What is Jena?  Usage of Jena  Main Concepts  Main Components  Storage Models  OWL API  RDF API  Reasoning  Application-oriented issues

 Open source Semantic Web framework for Java based on W3C recommendations for RDF and OWL  Provides a suitable programming environment for RDF, RDFS, OWL, SPARQL and an integrated rule-based inference mechanism

 Import of owl ontologies, RDF, DAML into suitable models (persistent or in-memory)  Processing of these models  Export of these models to owl, rdf, daml files

 Almost all ontology concepts:  Classes: A class is a definition of a group of individuals that belong together because they share common properties. For example John and Mary both belong to the class “person”.  Instances: Instances are what the classes consist of; their members, they inherit class characteristics and properties may be used to relate to one another

 Properties: binary relations  Object Properties: relations between instances of two classes  Datatype Properties: relations between instances of classes and RDF literals and XML Schema datatypes

 com.hp.hpl.jena.rdf.model: package for creating and manipulating RDF graphs  Model: RDF model  ModelMaker: ModelMaker contains a collection of named models, methods for creating new models [both named and anonymous] and opening previously-named models, removing models, and accessing a single "default" Model for this Maker.  Literal: RDF Literal  Statement: RDF Statement

 com.hp.hpl.jena.ontology: package that provides a set of abstractions and convenience classes for accessing and manipluating ontologies represented in RDF  OntModel: An enhanced view of a Jena model that is known to contain ontology data, under a given ontology vocabulary (such as OWL)  OntClass: Interface that represents an ontology node characterising a class description  ComplementClass  IntersectionClass  UnionClass

 OntResource: Provides a common super-type for all of the abstractions in this ontology representation package  OntModelSpec: Encapsulates a description of the components of an ontology model, including the storage scheme, reasoner and language profile  ObjectProperty: Interface encapsulating properties whose range values are restricted to individuals (as distinct from datatype valued properties)  DatatypeProperties: Interface that encapsulates the class of properties whose range values are datatype values (as distinct from ObjectProperty whose values are individuals)

 com.hp.hpl.jena.reasoner.Reasoner: reasoner subsystem designed to allow a range of inference engines to be plugged into Jena  com.hp.hpl.jena.reasoner.ReasonerRegistry: global registry of known reasoner modules

 Persistent Storage  Example Source Code:  OntModelSpec spec = new OntModelSpec(OntModelSpec.OWL_DL_MEM); IDBConnection conn = new DBConnection(dbURL, username, password, dbType); ModelMaker maker = ModelFactory.createModelRDBMaker(conn); Model m = maker.createModel(" lab/projects/grid4all/ontology/grid4allOnto", false); m.read("file:G4Aonto-example.owl"); conn.close();

 In Memory  Source Code Example:  ModelMaker modelMaker = ModelFactory.createMemModelMaker(); Model model 1 = modelMaker.createModel("myBase"); java.io.InputStream in=FileManager.get().open(fc.getCurrentDirectory().getAbsolutePath()+"\\" +fc.getSelectedFile().getName()); model1.read(in, ""); OntModelSpec spec = new OntModelSpec(OntModelSpec.OWL_DL_MEM ); com.hp.hpl.jena.reasoner.Reasoner reasoner1 = PelletReasonerFactory.theInstance().create(); spec.setReasoner( reasoner1 ); OntModel ontTestModel = ModelFactory.createOntologyModel(spec, myModel);

 Source Code Example:  private ObjectProperty[] getAllPropertiesWithSameDomainAs(ObjectProperty oP){ ObjectProperty[] oPz=new ObjectProperty[0]; OntClass[] domainClasses=listDomainClasses(oP); OntModel oM=oP.getOntModel(); ExtendedIterator it=oM.listObjectProperties(); while(it.hasNext()){ ObjectProperty oP2=(ObjectProperty)it.next(); if(oP2.getLocalName().compareTo(oP.getLocalName())!=0){ OntClass[] domainClasses2=listDomainClasses(oP2); if(isSubclass(domainClasses,domainClasses2)){ oPz=extendArray(oPz,oP2); } it.close(); return oPz; }

 private String[] getAllSiblingClasses(OntClass Class2){ OntClass supClass=Class2.getSuperClass(); int iNoOfSubClasses=supClass.listSubClasses().toList().size(); String[] siblings = new String[iNoOfSubClasses-1]; int iCounter=0; for(int i=0; i<iNoOfSubClasses; i++){ OntClass oC=(OntClass)supClass.listSubClasses().toList().get(i); if(!oC.equals(Class2)){ siblings[iCounter]=oC.getLocalName(); iCounter++; } return siblings; }

ExtendedIterator iter = ontModel1.listDatatypeProperties(); while(iter.hasNext()){ DatatypeProperty dP= (DatatypeProperty)iter.next(); if(dP.getRange().getLocalName().compareTo("int")==0 || dP.getRange().getLocalName().compareTo("double")==0){ String[] sProt=new String[4]; ExtendedIterator iter3= ontModel1.listIndividuals(); while(iter3.hasNext()){ OntResource oRes =(OntResource)iter3.next(); NodeIterator sit=oRes.listPropertyValues(dP); while(sit.hasNext()){ com.hp.hpl.jena.rdf.model.impl.LiteralImpl pr=(com.hp.hpl.jena.rdf.model.impl.LiteralImpl)sit.next(); String sSubject=oRes.getLocalName(); String sObject=pr.getString(); String sPredicate=dP.getLocalName();

 Internal Reasoning  com.hp.hpl.jena.reasoner.ReasonerRegistry,mediocre reasoning ability  Source Code Example:  OntModelSpec spec = new OntModelSpec( OntModelSpec.OWL_DL_MEM ); com.hp.hpl.jena.reasoner.Reasoner reasoner1 = ReasonerRegistry.getOWLReasoner(); spec.setReasoner( reasoner1 ); ontTestModel = ModelFactory.createOntologyModel(spec, myModel);  External Reasoning  E.g.:Pellet Reasoner, complete reasoning ability  Source Code Example  OntModelSpec spec = new OntModelSpec( OntModelSpec.OWL_DL_MEM ); com.hp.hpl.jena.reasoner.Reasoner reasoner1 = PelletReasonerFactory.theInstance().create();spec.setReasoner( reasoner1 ); ontTestModel = ModelFactory.createOntologyModel(spec, myModel);

 Jena used  One in memory RDF model used  A persistent model approach was initially introduced but was rejected  Two in memory ontology models used  One with a reasoner attached  One without reasoner  Pellet reasoner used is some occasions only to determine subsumptions between subclasses and superclasses and their individuals respectively

 Only ontology files imported (OWL-DL)  No alterations on the imported ontology  Only Knowledge Extraction  Use of this knowledge to create Multiple Choice Questions  No SPARQL Queries developed

 Limited use of the RDF API  Used only to create ontology models and in some occasions to detect certain statements.  Extended use of the Ontology API  Knowledge extracted concerning:  Classes  Individuals  Object Properties  Datatype Properties

 ??????????????????????????????????????????????? ??????????????????__________?????????????????? ?????????????????/__________\???????????????? ????????????????/_/?????????\_\?????????????? ????????????????\_\?????????/_/?????????????? ?????????????????\_\??????/_/???????????????? ?????????????????????????/_/?????????????????? ???????????????????????/_/???????????????????? ??????????????????????|_|????????????????????? ??????????????????????????????????????????????? ??????????????????????????????????????????????? ??????????????????????|_|?????????????????????