Graphity Generic Linked  Data  platform Do more with less!
Wulffmorgenthaler Danish comic strip since 2001
HeltNormalt Rebranding in 2011
Old codebase SQL arrays Request Response Objects
Model-View-Controller SQL Request Response Objects
Leaky abstractions
Incompatible APIs DataConversions(N)  ≥  2 × (N − 1) Number of data (model) conversions between source datastore and targe...
Model mismatch DataConversions(N) = 2 × (N − 1) Custom code Bugs
Linked Data(sources) DataConversions(N) = 0
REST+RDF JAX-RS Jena Resource getURI() Request/Response Model @Path Property UriBuilder Literal
RDFResource <ul><li>getURI()
getModel()
exists()
describe()
authenticate()
authorize() </li></ul>
Linked Systems Request Response RDF
Unified model DataConversions(N) = 2
Generic design <ul><li>Reuse reuse reuse! </li><ul><li>APIs: JAX-RS, Jena, XSLT
Ontologies: ACL, DC, SIOC, FOAF, Zodiac, LD API </li></ul><li>Push abstractions & logic to RDF
Upcoming SlideShare
Loading in …5
×

Graphity - Generic Linked Data Platform

2,333 views
2,190 views

Published on

Linked Enterprise Data Patterns Workshop 2011 presentation

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

  • Be the first to like this

No Downloads
Views
Total views
2,333
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Graphity - Generic Linked Data Platform

  1. 1. Graphity Generic Linked Data platform Do more with less!
  2. 2. Wulffmorgenthaler Danish comic strip since 2001
  3. 3. HeltNormalt Rebranding in 2011
  4. 4. Old codebase SQL arrays Request Response Objects
  5. 5. Model-View-Controller SQL Request Response Objects
  6. 6. Leaky abstractions
  7. 7. Incompatible APIs DataConversions(N) ≥ 2 × (N − 1) Number of data (model) conversions between source datastore and target datastore Custom code Bugs
  8. 8. Model mismatch DataConversions(N) = 2 × (N − 1) Custom code Bugs
  9. 9. Linked Data(sources) DataConversions(N) = 0
  10. 10. REST+RDF JAX-RS Jena Resource getURI() Request/Response Model @Path Property UriBuilder Literal
  11. 11. RDFResource <ul><li>getURI()
  12. 12. getModel()
  13. 13. exists()
  14. 14. describe()
  15. 15. authenticate()
  16. 16. authorize() </li></ul>
  17. 17. Linked Systems Request Response RDF
  18. 18. Unified model DataConversions(N) = 2
  19. 19. Generic design <ul><li>Reuse reuse reuse! </li><ul><li>APIs: JAX-RS, Jena, XSLT
  20. 20. Ontologies: ACL, DC, SIOC, FOAF, Zodiac, LD API </li></ul><li>Push abstractions & logic to RDF
  21. 21. Generalize cases
  22. 22. Refactor to minimize
  23. 23. Inversion of control
  24. 24. Overload default behaviour </li></ul>
  25. 25. Codebase comparison Component Language # of files # of lines Language # of files # of lines HeltNormalt Old codebase Model SPARQL 89 5590 PHP 93 19325 Model (strips) 7 588 View XSLT 60 9293 PHP 67 2528 View (strips) 5 784 Controller PHP 65 4155 PHP 51 7625 Controller (strips) 1 32 Graphity Zend Framework Platform PHP 88 6043 PHP 284 50755
  26. 26. Server load
  27. 27. Potential RDF sources <ul><li>HTTP traffic
  28. 28. Filesystems
  29. 29. Program code </li><ul><li>repositories
  30. 30. source </li></ul></ul>
  31. 31. Generic Linked Data tools & UI <ul><li>Browser/editor
  32. 32. Analytics
  33. 33. Maps
  34. 34. Timelines/calendars
  35. 35. Real-time streams
  36. 36. Social widgets </li></ul>
  37. 37. W3C involvment <ul><li>Best practices </li><ul><li>Standard RDF/JSON syntax
  38. 38. Standard RDFizer interface
  39. 39. GRDDL stylesheet repository </li></ul><li>Community involvment </li><ul><li>w3c.github.com </li></ul></ul>
  40. 40. Get in touch! <ul><li>Contribute </li><ul><li>graphity.org
  41. 41. github.com/Graphity - open-source! </li></ul><li>Contact us </li><ul><li>[email_address]
  42. 42. [email_address]
  43. 43. @pumba_lt
  44. 44. @seporaitis </li></ul></ul>

×