Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Callimachus intro 20100928


Published on

A brief introduction to the Callimachus Project, an Open Source software project to make the creation of Semantic Web applications easy for Web authors.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Callimachus intro 20100928

  1. 1. Wednesday, September 29, 2010 1
  2. 2. Καλλίμαχος of Cyrene c. 305–c. 240 BCE • Father of Bibliography (The Pinakes) at the great Library at Alexandria • Could not categorize his own work in Aristotle’s hierarchical system “Mega biblion, mega kakon” Wednesday, September 29, 2010 2 “Many writings equals many worries” Pinakes: Tables of those who were eminent in every branch of learning, and what they wrote, in 120 volumes Callimachus’ Quandary was that he could not categorize his own works in Aristotle’s hierarchy.
  3. 3. Wednesday, September 29, 2010 3 Semantic Web applications have been hampered by our pre-conceived notions of software architecture. It has taken us ten years to build a full architecture.
  4. 4. Wednesday, September 29, 2010 4 Like Aristotle’s hierarchy, we have thumb rules and presumptions in our software architectures. The 3-tier architecture is very useful, but most people equate the data layer with hierarchical or pseudo-hierarchical data stores like relational databases and file systems.
  5. 5. 1. Object-RDF mapping 2. RDF Wednesday, September 29, 2010 5 We try to address Callimachus’ Quandary by removing limitations implicit in the n-tier architecture. Objects are exposed to the user interface so we can keep using existing means of creating UIs, but those limitations are not serialized.
  6. 6. The painter... does not fit the paints to the world. He fits himself to the paint. -- Paul Klee Wednesday, September 29, 2010 6
  7. 7. Wednesday, September 29, 2010 7 Older attempts at creating RDF editors suffered from being too close to triples. Other products make an orthogonal mistake by storing objects based on RDF, thus limiting arbitrary relationships in the data. Callimachus tries to avoid both problems by presenting objects to the user while storing RDF natively.
  8. 8. Wednesday, September 29, 2010 8 In our opinion, Semantic Web apps should look like arbitrary Web pages.
  9. 9. RDF Store Web server HTTP GET Class Resource request Viewable RDF response SPARQL query XML template apply.xsl HTTP response HTML Wednesday, September 29, 2010 9
  10. 10. Demo Time! Wednesday, September 29, 2010 10
  11. 11. Graph Pattern Queries • Every triple is also a triple pattern • Any graph can be used within a SPARQL ASK query • Basic triple patterns are triples with variables • Variables can be stored in triples as URI within a particular namespace • Many CONSTRUCT and SELECT queries can be represented using triples with variables Wednesday, September 29, 2010 11
  12. 12. RDFa Pattern Queries • RDFa is parsed into RDF • Variables are identified by URI namespace for conversion into basic triple patterns • Nested tags use OPTIONAL joins to maximise matches • RDFa file is used to construct RDFa result of matching triples • Callimachus project contains an implementation of the above Wednesday, September 29, 2010 12
  13. 13. UI Templates • Use external BASE to enable query reuse against different subjects • Template for every resource type and activity • Activities include: • View resource • Review resource • Edit resource • Copy resource Wednesday, September 29, 2010 13
  14. 14. RDFa Changesets • JavaScript RDFa library for parsing and identifying differences on client side • JavaScript library for RDFa aware DOM manipulation • POST changes back to server as RDF or SPARQL Update Wednesday, September 29, 2010 14
  15. 15. When to use SPARQL • RDFa does not include • Join types (inner, left, cross, union) • FILTER • ORDER BY • LIMIT, OFFSET • GRAPH support • For these constructs use SPARQL results with XSLT Wednesday, September 29, 2010 15
  16. 16. Managing Resources with RDFa • Identify or create a resource vocabulary • Create resource templates for every resource type and activity in RDFa • Create search interface with SPARQL and XSLT • Semantic Web applications made easy! Wednesday, September 29, 2010 16
  17. 17. For More Information • Contact • James Leigh <> • David Wood <> • Get involved at • Wednesday, September 29, 2010 17