Building Distributed
                             Semantic Systems



                               Antonio Garrote Herná...
Definition

                   • Distributed processes
                   • Semantic meta data exposed as resources
       ...
Different abstraction
                                levels


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



Monday, December 21, 2009
Exception logging
                                   system
                   •        Sensor processes monitoring genera...
Methodology



Monday, December 21, 2009
4 step process

                   1. Knowledge modeling
                   2. Formal description
                   3. Im...
1.Knowledge modeling



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

                   •     ...
Sample application ontology

                                                        level     message   createdAt




   ...
Developing the sample application ontology with Protégé




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

                                  Declaration(Class(Exception))
          ...
2.Formal description



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

                   • Concerned with ‘dyn...
Formal description of the sample application




                                                                    S(r)
...
Formal description of the sample application



                            Processes equations:




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


Monday, Dec...
• 1 RESTful semantic service per OWL/RDFS
                            class in the ontology

                   • Use of t...
RESTful Semantic Web
                          Service

                   • OWL/RDFS class triples
                   • E...
Service’s Interface
                               Create                 POST

                                Read      ...
RDF
      Lifting                        Graph

                                          SPARQL query

                  ...
Plaza Framework




Monday, December 21, 2009
Plaza Framework
                   •        Manages ‘Plaza Applications’: OWL ontolgy +
                            configu...
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
                ...
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
                            probl...
Upcoming SlideShare
Loading in …5
×

Developing Distributed Semantic Systems

747 views

Published on

Published in: Education, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
747
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Developing Distributed Semantic Systems

  1. 1. Building Distributed Semantic Systems Antonio Garrote Hernández Monday, December 21, 2009
  2. 2. Definition • Distributed processes • Semantic meta data exposed as resources • Triple space operations • RESTful interface Monday, December 21, 2009
  3. 3. Different abstraction levels Monday, December 21, 2009
  4. 4. Monday, December 21, 2009
  5. 5. Sample application Monday, December 21, 2009
  6. 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
  7. 7. Methodology Monday, December 21, 2009
  8. 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
  9. 9. 1.Knowledge modeling Monday, December 21, 2009
  10. 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. 11. Sample application ontology level message createdAt Exception generated platform Node Language ipAddress domain dc:title formatPattern Monday, December 21, 2009
  12. 12. Developing the sample application ontology with Protégé Monday, December 21, 2009
  13. 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
  14. 14. 2.Formal description Monday, December 21, 2009
  15. 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. 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. 17. Formal description of the sample application Processes equations: Monday, December 21, 2009
  18. 18. 3.Implementation of RESTful semantic services Monday, December 21, 2009
  19. 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. 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. 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. 22. RDF Lifting Graph SPARQL query REST Resource triple resource space triple space op. HTTP request Lowering Monday, December 21, 2009
  23. 23. Plaza Framework Monday, December 21, 2009
  24. 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. 25. Sample application configuration module Monday, December 21, 2009
  26. 26. Sample application exceptions resource module Monday, December 21, 2009
  27. 27. 4.Implementation of client processes Monday, December 21, 2009
  28. 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. 29. Clojure implementation of the sensor and aggregator processes Monday, December 21, 2009
  30. 30. Javascript web client using websockets Monday, December 21, 2009
  31. 31. Web client execution Monday, December 21, 2009
  32. 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

×