1 st Workshop on Intelligent and Knowledge-oriented Technologies, 28-29.11., Bratislava Scripting the Semantic Web Marian Babik, Ladislav Hluchy Intelligent.

Slides:



Advertisements
Similar presentations
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
Advertisements

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
CS570 Artificial Intelligence Semantic Web & Ontology 2
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
1 Semantic Web Technologies: The foundation for future enterprise systems Okech Odhiambo Knowledge Systems Research Group Strathmore University.
Xiang Zhang Feb 25 th, 2011 RDF, RDFS, OWL and the Semantic Web.
Dr. Jim Bowring Computer Science Department College of Charleston CSIS 690 (633) May Evening 2009 Semantic Web Principles and Practice Class 5: 27 May.
SEMANTIC WEB TECHNOLOGIES David Ben-David & Roi Adadi Built on W3C “Tutorial on Semantic Web Technologies” presentation.
Dr. Alexandra I. Cristea RDF.
Knowledge Technologies Manolis Koubarakis 1 An Introduction to RDF Schema.
More RDF CS 431 – Carl Lagoze – Cornell University Acknowledgements: Eric Miller Dieter Fensel.
The RDF meta model: a closer look Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations.
Ontologies: Making Computers Smarter to Deal with Data Kei Cheung, PhD Yale Center for Medical Informatics CBB752, February 9, 2015, Yale University.
인공지능 특강 프로젝트 - Development of Decision Tree Algorithm for Semantic Web data 전동규.
13 Dec. 2006CmpE 583 Fall 2006 OWL Lite- Property Char’s. 1 OWL Lite: Ch. 13- Property Characteristics Atilla ELÇİ.
Chapter 6 Understanding Each Other CSE 431 – Intelligent Agents.
Okech Odhiambo Faculty of Information Technology Strathmore University
Logics for Data and Knowledge Representation
Database Support for Semantic Web Masoud Taghinezhad Omran Sharif University of Technology Computer Engineering Department Fall.
RDF and OWL Developing Semantic Web Services by H. Peter Alesso and Craig F. Smith CMPT 455/826 - Week 6, Day Sept-Dec 2009 – w6d21.
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.
SQL Databases are a Moving Target Juan F. Sequeda – Syed Hamid Tirmizi –
The Jena RDF Framework Konstantinos Tzonas. Contents What is Jena Capabilities of Jena Basic notions RDF concepts in Jena Persistence Ontology management.
OWL 2 in use. OWL 2 OWL 2 is a knowledge representation language, designed to formulate, exchange and reason with knowledge about a domain of interest.
Chapter 9. 9 RDFS (RDF Schema) RDFS Part of the Ontological Primitive layer Adds features to RDF Provides standard vocabulary for describing concepts.
The Knowledge Presentation Language. Web Ontology Language (OWL)  Web Ontology Language (OWL) extends RDF and RDFS languages by adding several other.
Presentation : Konstantinos Kanaris.  What is Jena?  Usage of Jena  Main Concepts  Main Components  Storage Models  OWL API  RDF API  Reasoning.
Metadata. Generally speaking, metadata are data and information that describe and model data and information For example, a database schema is the metadata.
Chapter 3 RDF Schema. Introduction RDF has a very simple data model RDF Schema (RDFS) enriches the data model, adding vocabulary and associated semantics.
Part I: Set Constructs. RDF Schema (RDFS) RDF does not provide mechanisms to define domain classes and properties RDFS is a vocabulary that provides many.
Coastal Atlas Interoperability - Ontologies (Advanced topics that we did not get to in detail) Luis Bermudez Stephanie Watson Marine Metadata Interoperability.
RDF, OWL, SPARQL and the Semantic Wed ACCU 2009 Seb Rose.
Deep integration of Python with Semantic Web technologies Marian Babik, Ladislav Hluchy Intelligent and Knowledge Technologies Group Institute of Informatics,
Using RDF in Agent-Mediated Knowledge Architectures K. Hui, S. Chalmers, P.M.D. Gray & A.D. Preece University of Aberdeen U.K
Chapter 3 RDF and RDFS Semantics. Introduction RDF has a very simple data model But it is quite liberal in what you can say Semantics can be given using.
Chapter 7: Resource Description Framework (RDF) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley,
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.
RDF Schema (RDFS) RDF user communities need to define the vocabularies (terms) to indicate that they  are describing specific kinds or classes of resources.
Artificial Intelligence 2004 Ontology
Organization of the Lab Three meetings:  today: general introduction, first steps in Protégé OWL  November 19: second part of tutorial  December 3:
The RDF meta model Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations of XML compared.
Ontology Engineering Lab #5 – September 30, 2013.
Ch 7: RDF schema 현근수, 김영욱, 백상윤, 이용현 Team C. Introduction Semantic web modeling In RDF: simply creates graph structure to represent data In RDFS: about.
The Semantic Web Riccardo Rosati Dottorato in Ingegneria Informatica Sapienza Università di Roma a.a. 2006/07.
OWL Full Semantics -- RDF-Compatible Model-Theoretic Semantics by Peter F. Patel-Schneider, Patrick Hayes and Ian Horrocks W3C Recommendation, 2004
Practical RDF Chapter 12. Ontologies: RDF Business Models Shelley Powers, O’Reilly SNU IDB Lab. Taikyoung Kim.
Of 38 lecture 6: rdf – axiomatic semantics and query.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall RDF & RDF Schema Machine Understandable Metadata for the.
Of 32 lecture 8: owl – language I. of 32 ece 627, winter ‘132 OWL XML/RDF syntax: header
Semantic Web for the Working Ontologist Dean Allemang Jim Hendler SNU IDB laboratory.
Semantic Interoperability in GIS N. L. Sarda Suman Somavarapu.
Ontology Technology applied to Catalogues Paul Kopp.
Chapter Describing Individuals OWL Individuals ▫Ontological Primitive Layer  Mostly described with RDF ▫Instances of user-defined ontological.
Semantics of RDF(S) and OWL Ivan Herman, W3C (Last update: 28 Sep 2007) Ivan Herman.
OWL (Ontology Web Language and Applications) Maw-Sheng Horng Department of Mathematics and Information Education National Taipei University of Education.
Week 7: Semantic Web and Semantic Search
Charlie Abela Department of Intelligent Computer Systems
Introduction to the Semantic Web (tutorial) 2009 Semantic Technology Conference San Jose, California, USA June 15, 2009 Ivan Herman, W3C
Using Rules with Ontologies in the Semantic Web
Model-Driven Ontology Engineering
ece 720 intelligent web: ontology and beyond
Introduction to RDF and RDFS Editor: MR3
ece 720 intelligent web: ontology and beyond
Logics for Data and Knowledge Representation
Knowledge Representation Part VII Protégé / RDFS / OWL / ++
ece 720 intelligent web: ontology and beyond
Semantic-Web, Triple-Strores, and SPARQL
Presentation transcript:

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Scripting the Semantic Web Marian Babik, Ladislav Hluchy Intelligent and Knowledge-oriented Technologies Group Institute of Informatics, SAS

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Goals of the presentation  Semantic Web  Object-oriented Systems  Introduce deep integration ideas  Show initial implementation of the Python integrated with OWL

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Semantic Web  Extension of the current Web, providing infrastructure for the integration of data on the Web Data should be available for further processing It should be possible to combine and merge data on a Web scale Metadata, reasoning  Making data machine processable: Names for resources Common data model: RDF Access to the data: SPARQL, OWL-QL Define vocabularies: RDFS, OWL, SKOS Reasoning: OWL, Rules

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Description Logics, OWL-DL  Class definition, axioms Complex class definitions based on the class descriptions  Property definition, axioms RDF Schema constructs (rdfs:subPropertyOf, rdfs:domain and rdfs:range) relations to other properties: owl:equivalentProperty and owl:inverseOf) global cardinality constraints: owl:FunctionalProperty and owl:InverseFunctionalProperty logical property characteristics owl:SymmetricProperty and owl:TransitiveProperty  Individuals facts about class membership and property values of individuals

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Object-oriented systems  Data Structure is an Object that contains both Data and Methods  Relationships can exist between different Objects (inheritance etc)  Modular and easily extendible frameworks  Examples: Java, C++, Smalltalk, Python, Ruby, PHP  Web Frameworks

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Issues in mapping DL to OO  Similarities between DL and OO Class Hierarchy w/ Multiple Inheritance DL Properties correspond to OO Class fields  Differences between DL and OO  Semantics Open Vs. Closed World Semantics  Interpretations Implicit Vs. Explicit Set Membership Interpretation  Extensions Automatic Inferences Vs. Manual Modifications  Behavior None in DL, crucial to OO

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Deep integration ideas  Import OWL classes alongside classes defined normally (native API)  Support for intensional definition of classes/properties (OWL statements)  Separation of concerns among declarative and procedural aspects  Similar to what SQLObject does for databases

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Benefits  Definition of data and domain using Semantic Web tools (Protégé, SWOOP)  Native OWL API  OWL Inference and Web sharing of concepts  New programming paradigm for Python  Native interface for ontologies, developers can work directly with OWL classes and their instances  Existing Python Web frameworks and access to large set of libraries Ontologies Python

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Related Work  Jena, OWL API Java is statically-typed language Different notion of polymorphism means APIs have to introduce sophisticated design patterns Resource r = myModel.getResource( myNS + "DigitalCamera" ); OntClass cls = (OntClass) r.as( OntClass.class ); Restriction rest = (Restriction) cls.as( Restriction.class );  Jastor  Automatic Mapping of OWL Ontologies into Java [Kalyanpur, et.al]  Protégé Bean-Generator  FIPA, Jade [Poggi et.al.]  RDFReactor

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Related Work Python  RDFLib – statement-centric (Daniel Krech)  CWM – model centric  Pychinko – model, statement-centric, rule based  MetaLog – statement, resource-centric, based on prolog  Sparta, Tramp – resource centric Others (see: )  Active RDF (Ruby) – native mapping, RDF, integrated with Rails  RDFHomepage (PHP) – native mapping

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava OWL-DL and Python  Ontology corresponds to Python module  OWL Class corresponds to Python Class  Instance of OWL Class corresponds to Python Object  OWL Property corresponds to Python Class or Python method  OWL DatatypeProperty corresponds to Attribute

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Classes  OWL Class corresponds to Python Class  Instances of OWL Class correspond to Python Objects  Class definition Each python class has two attributes:  URI (owl:Class URI)  definedBy (intensional definition) >>> from seth import Thing, Property >>> Person = Thing.new(‘ :Person a owl:Class.') >>> print Person >>> Man = Thing.new(' :Man a owl:Class ; rdfs:subClassOf :Person.')

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Classes (2) >>> PersonWithSingleSon = Thing.new("""PersonWithSingleSon a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^ ; owl:onProperty :hasSon ]; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^ ; owl:onProperty :hasChild ].""") >>> model = OntModel() >>> model.bind(“people”,” >>> Thing.setOntModel(model) >>> Person = Thing.new(“ people:Person a owl:Class.”)

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Properties  owl:Property corresponds to python objects Similar to Class definition But such classes don’t have instances  owl:Property corresponds to python object attribute (method) >>> hasChild = Property.new('hasChild a owl:ObjectProperty.') >>> print hasChild >>> hasSon = Property.new('hasSon a owl:ObjectProperty ; rdfs:subPropertyOf :hasChild.') >>> John.hasChild(Bob)

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Individuals  Individual is python object (class instance) >>> Bob = PersonWithSingleSon() >>> John = Person() >>> print John >>> hasChild(Bob, John)

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Ontologies  owl:Ontology corresponds to Python module >>> ModuleFactory(“people”, “ >>> import people >>> print people.Person <seth.people.Person :Man a owl:Class ; rdfs:subClassOf :Person. >>> print people.John  serialization >>> people.serialize(“/tmp/test.owl”, “RDF/XML-ABBREV”)

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Queries  Triple like queries >>> for individual in Person.findInstances():... print individual, individual.name Peter John Jane >>> for who in hasSon.q(Bob):... who.name 'John' >>> print hasSon.query(Bob, John) 1  OWL-QL, SPARQL  Native queries

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Prototype architecture  Interaction with Java-based libraries (reasoners)

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Python and Java  Jython - Python implemented for the Java Virtual Machine  JPE(Java-Python Extension) - uses JNI to provide a bridging mechanism between Java and a Python interpreter  JPype - interfacing at the native level in both Virtual Machines  SPIRO - uses ORB (Object-Request Broker) technology  GCJ

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Issues  Performance (conversion between JVMs)  Cache  Datatype reasoning  Open world semantics  Debugging  Rules

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Summary  SETH Homepage:  Available through CVS under MIT license  Discussion, support mailing list:  Plans  Contact:

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava References  Introduction to Semantic Web  Deep Integration Deep_Integration.pdf

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Resource Description Framework (RDF)  Based on triples (subject, predicate, object) Labelled connection btw. two resources (subject, object) Subject, predicate are URI-s; Object is URI (e.g. Subject) or Literal ( )  (subject, predicate, object) can be seen as a labeled edge in a graph  Serialization XML, Turtle, N3, etc.

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava RDF example s:hasName “Marian Babik”; s:hasWritten. <rdf:Description rdf:about=" Marian Babik Turtle (N3) XML/RDF

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava RDF Vocabulary Description Language (RDFS)  RDF lacks vocabulary with semantic meaning  RDFS defines resources and classes and relationships among classes/resource rdf:type, rdfs:Class, rdfs:subClassOf rdfs:subPropertyOf, Resource may belong to several classes (range, domain)  Special kind of type system

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava RDFS example :Person rdfs:subClassOf :Man. :John rdf:type :Man.

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava RDFS example (2) :Person rdfs:subClassOf :Man. :John rdf:type :Man. :isProgrammer rdf:type rdf:Property; rdf:domain :Person; rdf:range rdfs:Literal.

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava Web Ontology Language (OWL)  RDFS doesn’t solve all the issues Reasoning about terms Behavior of properties (symmetric, transitive, etc.) Cardinality constraints Equivalence of classes Enumeration (oneOf), union of classes Datatype properties  Compromise btw Rich semantics Feasibility, implementability  Three layers: OWL-Lite, OWL-DL (based on Description Logic – SHOIN(D)) OWL-Full (might be undecidable)

1 st Workshop on Intelligent and Knowledge-oriented Technologies, , Bratislava OWL-DL people:. people:Person a owl:Class. people:Man a owl:Class; rdfs:subClassOf people:Person people:hasChild a owl:Property. people:hasSon a owl:Propery; rdfs:subPropertyOf people:hasChild PersonWithSingleSon a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^ ; owl:onProperty :hasSon ]; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^ ; owl:onProperty :hasChild ]. People:John a people:Person. People:Bob a people:PersonWithSingleSon.