SlideShare a Scribd company logo
Building Distributed
                             Semantic Systems



                               Antonio Garrote Hernández



Monday, December 21, 2009
Definition

                   • Distributed processes
                   • Semantic meta data exposed as resources
                   • Triple space operations
                   • RESTful interface

Monday, December 21, 2009
Different abstraction
                                levels


Monday, December 21, 2009
Monday, December 21, 2009
Sample application



Monday, December 21, 2009
Exception logging
                                   system
                   •        Sensor processes monitoring generation of
                            exceptions in different nodes and languages/platforms

                   •        Aggregator processes retrieving the exceptions and
                            creating Exception resources

                   •        Exception RESTful semantic web service

                   •        Web client displaying generated exceptions




Monday, December 21, 2009
Methodology



Monday, December 21, 2009
4 step process

                   1. Knowledge modeling
                   2. Formal description
                   3. Implementation of RESTful semantic
                      services
                   4. Implementation of client processes



Monday, December 21, 2009
1.Knowledge modeling



Monday, December 21, 2009
1.Knowledge modeling
                   •        Building of an ontology for the problem domain

                   •        Ontology = TBox in Description Logics

                   •        Use of W3C’s standard languages: RDFS or OWL

                   •        Assistance of graphical tools like Protégé




Monday, December 21, 2009
Sample application ontology

                                                        level     message   createdAt




                                                                Exception



                                        generated
                                                                                           platform




                                        Node                                       Language

                            ipAddress          domain                           dc:title        formatPattern


Monday, December 21, 2009
Developing the sample application ontology with Protégé




Monday, December 21, 2009
Ontology(<http://semantic_rest/exceptions.owl>

                                  Declaration(Class(Exception))
                                  SubClassOf(Exception owl:Thing)
                                  Declaration(Class(Node))
                                  SubClassOf(Node owl:Thing)
                                  Declaration(Class(ProgrammingLanguage))
                                  SubClassOf(ProgrammingLanguage owl:Thing)

                                  Declaration(ObjectProperty(platform))
                                  ObjectPropertyDomain(platform Exception)
                                  ObjectPropertyRange(platform ProgrammingLanguage)

                                  Declaration(ObjectProperty(generatedIn))
                                  ObjectPropertyDomain(generatedIn Exception)
                                  ObjectPropertyRange(generatedIn Node)


             Resulting ontology   Declaration(DataProperty(level))
                                  DataPropertyDomain(level Exception)


                using OWL
                                  DataPropertyRange(level rdfs:Literal)

                                  Declaration(DataProperty(ipAddress))


            Functional Notation
                                  DataPropertyDomain(ipAddress Node)
                                  DataPropertyRange(ipAddress xsd:string)

                                  Declaration(DataProperty(formatPattern))
                                  DataPropertyDomain(formatPattern Exception)
                                  DataPropertyRange(formatPattern xsd:string)

                                  Declaration(DataProperty(createdAt))
                                  DataPropertyDomain(createdAt Exception)
                                  DataPropertyRange(createdAt xsd:dateTime)

                                  Declaration(DataProperty(content))
                                  DataPropertyDomain(content Exception)
                                  DataPropertyRange(content xsd:string)

                                  Declaration(DataProperty(domain))
                                  DataPropertyDomain(domain Node)
                                  DataPropertyRange(domain rdfs:Literal)
                                  )




Monday, December 21, 2009
2.Formal description



Monday, December 21, 2009
• Formal description of the whole distributed
                            system

                   • Concerned with ‘dynamic’ aspects of the
                            system

                   • Use of an extended version of the Pi-
                            Calculus




Monday, December 21, 2009
Formal description of the sample application




                                                                    S(r)

                            GET subscribe n       POST n

           W                                  E            A   TE


                                                                    S(j)

Monday, December 21, 2009
Formal description of the sample application



                            Processes equations:




Monday, December 21, 2009
3.Implementation of
                             RESTful semantic
                                  services


Monday, December 21, 2009
• 1 RESTful semantic service per OWL/RDFS
                            class in the ontology

                   • Use of the Plaza Framework developed for
                            building RESTful semantic web services




Monday, December 21, 2009
RESTful Semantic Web
                          Service

                   • OWL/RDFS class triples
                   • Exposed as a RESTful resource
                   • Conceptually equivalent to a Linda triple
                            space




Monday, December 21, 2009
Service’s Interface
                               Create                 POST

                                Read                  GET

                            Blocking read    GET + xblocking header

                             Subscribe      • GET + xsubscribe header
                                            • Websockets
                              Update                  PUT

                              Destroy                DELETE

Monday, December 21, 2009
RDF
      Lifting                        Graph

                                          SPARQL query

                            REST Resource

                                             triple
                              resource
                                             space

                               triple space op.


                               HTTP request              Lowering
Monday, December 21, 2009
Plaza Framework




Monday, December 21, 2009
Plaza Framework
                   •        Manages ‘Plaza Applications’: OWL ontolgy +
                            configuration module + resources modules

                   •        Declarative: almost no coding required

                   •        Support for different Java RDF repositories

                   •        Automatic managing of triples through the concepts of
                            write-tree and read-tree for the resources

                   •        Support for the subscribe operation through chunked
                            HTTP responses and websockets

Monday, December 21, 2009
Sample application configuration module




Monday, December 21, 2009
Sample application exceptions resource module




Monday, December 21, 2009
4.Implementation of
                               client processes


Monday, December 21, 2009
• Client processes are just REST clients
                   • Required libraries: HTTP and triples format
                            parser (RDF/XML, Turtle, JSON)

                   • Optional support for Websockets
                   • Clojure library included as part of the Plaza
                            Framework



Monday, December 21, 2009
Clojure implementation of the sensor and aggregator
                            processes




Monday, December 21, 2009
Javascript web client using websockets




Monday, December 21, 2009
Web client execution




Monday, December 21, 2009
Conclusions
                   •        Semantic technologies enable rich description of
                            problem domains vs. relational modeling

                   •        Formal description of distributed systems enables
                            reasoning about its validity and correctness

                   •        RESTful semantic web services enable easy access
                            to semantic data

                   •        Building RESTful semantic web services clients is
                            trivial due to the use of well known HTTP
                            standard

                   •        Triple Space operations are powerful coordination
                            mechanisms for distributed processes

Monday, December 21, 2009

More Related Content

PDF
The status of the GeoServer WPS
PDF
Advanced cartographic map rendering in GeoServer
PDF
Message Passing Concurrency in Clojure using Kilim
PDF
CloudFoundry and MongoDb, a marriage made in heaven
PDF
DEVCON1 - BooJs
PDF
A Morning with MongoDB Barcelona: Use Cases and Roadmap
PDF
Building Scale Free Applications with Hadoop and Cascading
PDF
RubyConf 2009
The status of the GeoServer WPS
Advanced cartographic map rendering in GeoServer
Message Passing Concurrency in Clojure using Kilim
CloudFoundry and MongoDb, a marriage made in heaven
DEVCON1 - BooJs
A Morning with MongoDB Barcelona: Use Cases and Roadmap
Building Scale Free Applications with Hadoop and Cascading
RubyConf 2009

Similar to Developing Distributed Semantic Systems (20)

PDF
The Java Content Repository
PDF
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...
PDF
Everyday - mongodb
PDF
Iron* - An Introduction to Getting Dynamic on .NET
PDF
Best Practices in Ext GWT
PDF
Bar Camp Auckland - Mongo DB Presentation BCA4
PDF
Getting Into FLOW3 (TYPO312CA)
PDF
Hands on with Ruby & MongoDB
PDF
PIL - A Platform Independent Language
PDF
Mozilla in Vietnam 2009
PDF
Extending Spring for Custom Usage
PDF
OCaml Labs introduction at OCaml Consortium 2012
PDF
MongoDB Use Cases and Roadmap
PDF
Building A Scalable Open Source Storage Solution
PDF
PDF
Large-Scale Data Storage and Processing for Scientists with Hadoop
PDF
Summer Training In Dotnet
PDF
Summer training in dotnet
PPTX
PHP Development Tools 2.0 - Success Story
PDF
Realizing the Promise of Portable Data Processing with Apache Beam
The Java Content Repository
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...
Everyday - mongodb
Iron* - An Introduction to Getting Dynamic on .NET
Best Practices in Ext GWT
Bar Camp Auckland - Mongo DB Presentation BCA4
Getting Into FLOW3 (TYPO312CA)
Hands on with Ruby & MongoDB
PIL - A Platform Independent Language
Mozilla in Vietnam 2009
Extending Spring for Custom Usage
OCaml Labs introduction at OCaml Consortium 2012
MongoDB Use Cases and Roadmap
Building A Scalable Open Source Storage Solution
Large-Scale Data Storage and Processing for Scientists with Hadoop
Summer Training In Dotnet
Summer training in dotnet
PHP Development Tools 2.0 - Success Story
Realizing the Promise of Portable Data Processing with Apache Beam
Ad

More from Antonio Garrote Hernández (6)

PDF
API Modeling Framework: a toolbox ofr API specs. Gluecon 2017
PDF
Linked Data APIs (Funding Circle May 2015)
PDF
4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...
PDF
RESTful writable APIs for the web of Linked Data using relational storage sol...
PDF
lisp (vs ruby) metaprogramming
PDF
Egearmand: an Erlang Gearman daemon
API Modeling Framework: a toolbox ofr API specs. Gluecon 2017
Linked Data APIs (Funding Circle May 2015)
4th European Lisp Symposium: Jobim: an Actors Library for the Clojure Program...
RESTful writable APIs for the web of Linked Data using relational storage sol...
lisp (vs ruby) metaprogramming
Egearmand: an Erlang Gearman daemon
Ad

Recently uploaded (20)

PDF
Computing-Curriculum for Schools in Ghana
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Lesson notes of climatology university.
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Complications of Minimal Access Surgery at WLH
PDF
Sports Quiz easy sports quiz sports quiz
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
RMMM.pdf make it easy to upload and study
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
Cell Structure & Organelles in detailed.
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Cell Types and Its function , kingdom of life
Computing-Curriculum for Schools in Ghana
O7-L3 Supply Chain Operations - ICLT Program
Anesthesia in Laparoscopic Surgery in India
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Microbial diseases, their pathogenesis and prophylaxis
Renaissance Architecture: A Journey from Faith to Humanism
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
Lesson notes of climatology university.
VCE English Exam - Section C Student Revision Booklet
Complications of Minimal Access Surgery at WLH
Sports Quiz easy sports quiz sports quiz
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
RMMM.pdf make it easy to upload and study
Supply Chain Operations Speaking Notes -ICLT Program
Cell Structure & Organelles in detailed.
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Final Presentation General Medicine 03-08-2024.pptx
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Cell Types and Its function , kingdom of life

Developing Distributed Semantic Systems

  • 1. Building Distributed Semantic Systems Antonio Garrote Hernández Monday, December 21, 2009
  • 2. Definition • Distributed processes • Semantic meta data exposed as resources • Triple space operations • RESTful interface Monday, December 21, 2009
  • 3. Different abstraction levels Monday, December 21, 2009
  • 6. Exception logging system • Sensor processes monitoring generation of exceptions in different nodes and languages/platforms • Aggregator processes retrieving the exceptions and creating Exception resources • Exception RESTful semantic web service • Web client displaying generated exceptions Monday, December 21, 2009
  • 8. 4 step process 1. Knowledge modeling 2. Formal description 3. Implementation of RESTful semantic services 4. Implementation of client processes Monday, December 21, 2009
  • 10. 1.Knowledge modeling • Building of an ontology for the problem domain • Ontology = TBox in Description Logics • Use of W3C’s standard languages: RDFS or OWL • Assistance of graphical tools like Protégé Monday, December 21, 2009
  • 11. Sample application ontology level message createdAt Exception generated platform Node Language ipAddress domain dc:title formatPattern Monday, December 21, 2009
  • 12. Developing the sample application ontology with Protégé Monday, December 21, 2009
  • 13. Ontology(<http://semantic_rest/exceptions.owl> Declaration(Class(Exception)) SubClassOf(Exception owl:Thing) Declaration(Class(Node)) SubClassOf(Node owl:Thing) Declaration(Class(ProgrammingLanguage)) SubClassOf(ProgrammingLanguage owl:Thing) Declaration(ObjectProperty(platform)) ObjectPropertyDomain(platform Exception) ObjectPropertyRange(platform ProgrammingLanguage) Declaration(ObjectProperty(generatedIn)) ObjectPropertyDomain(generatedIn Exception) ObjectPropertyRange(generatedIn Node) Resulting ontology Declaration(DataProperty(level)) DataPropertyDomain(level Exception) using OWL DataPropertyRange(level rdfs:Literal) Declaration(DataProperty(ipAddress)) Functional Notation DataPropertyDomain(ipAddress Node) DataPropertyRange(ipAddress xsd:string) Declaration(DataProperty(formatPattern)) DataPropertyDomain(formatPattern Exception) DataPropertyRange(formatPattern xsd:string) Declaration(DataProperty(createdAt)) DataPropertyDomain(createdAt Exception) DataPropertyRange(createdAt xsd:dateTime) Declaration(DataProperty(content)) DataPropertyDomain(content Exception) DataPropertyRange(content xsd:string) Declaration(DataProperty(domain)) DataPropertyDomain(domain Node) DataPropertyRange(domain rdfs:Literal) ) Monday, December 21, 2009
  • 15. • Formal description of the whole distributed system • Concerned with ‘dynamic’ aspects of the system • Use of an extended version of the Pi- Calculus Monday, December 21, 2009
  • 16. Formal description of the sample application S(r) GET subscribe n POST n W E A TE S(j) Monday, December 21, 2009
  • 17. Formal description of the sample application Processes equations: Monday, December 21, 2009
  • 18. 3.Implementation of RESTful semantic services Monday, December 21, 2009
  • 19. • 1 RESTful semantic service per OWL/RDFS class in the ontology • Use of the Plaza Framework developed for building RESTful semantic web services Monday, December 21, 2009
  • 20. RESTful Semantic Web Service • OWL/RDFS class triples • Exposed as a RESTful resource • Conceptually equivalent to a Linda triple space Monday, December 21, 2009
  • 21. Service’s Interface Create POST Read GET Blocking read GET + xblocking header Subscribe • GET + xsubscribe header • Websockets Update PUT Destroy DELETE Monday, December 21, 2009
  • 22. RDF Lifting Graph SPARQL query REST Resource triple resource space triple space op. HTTP request Lowering Monday, December 21, 2009
  • 24. Plaza Framework • Manages ‘Plaza Applications’: OWL ontolgy + configuration module + resources modules • Declarative: almost no coding required • Support for different Java RDF repositories • Automatic managing of triples through the concepts of write-tree and read-tree for the resources • Support for the subscribe operation through chunked HTTP responses and websockets Monday, December 21, 2009
  • 25. Sample application configuration module Monday, December 21, 2009
  • 26. Sample application exceptions resource module Monday, December 21, 2009
  • 27. 4.Implementation of client processes Monday, December 21, 2009
  • 28. • Client processes are just REST clients • Required libraries: HTTP and triples format parser (RDF/XML, Turtle, JSON) • Optional support for Websockets • Clojure library included as part of the Plaza Framework Monday, December 21, 2009
  • 29. Clojure implementation of the sensor and aggregator processes Monday, December 21, 2009
  • 30. Javascript web client using websockets Monday, December 21, 2009
  • 31. Web client execution Monday, December 21, 2009
  • 32. Conclusions • Semantic technologies enable rich description of problem domains vs. relational modeling • Formal description of distributed systems enables reasoning about its validity and correctness • RESTful semantic web services enable easy access to semantic data • Building RESTful semantic web services clients is trivial due to the use of well known HTTP standard • Triple Space operations are powerful coordination mechanisms for distributed processes Monday, December 21, 2009