Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Like this? Share it with your network

Share

Tree Editing with Zippers

on

  • 3,298 views

A quick talk on how to use Clojure zippers over trees made from records and build a tree pattern matching / mutation facility over that.

A quick talk on how to use Clojure zippers over trees made from records and build a tree pattern matching / mutation facility over that.

Statistics

Views

Total Views
3,298
Views on SlideShare
2,964
Embed Views
334

Actions

Likes
0
Downloads
39
Comments
0

4 Embeds 334

http://tech.puredanger.com 331
http://static.slidesharecdn.com 1
http://translate.googleusercontent.com 1
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tree Editing with Zippers Presentation Transcript

  • 1. Tree Editing with Zippers Alex Miller Revelytix aka @puredanger aka “Dr. Strange Loop”
  • 2. Zipper node protocol
  • 3. Some records
  • 4. Two “child” variants seq of records rds fields holding reco
  • 5. Use the record zipper “(2 + 3) = (6 - 1)” :op := Comparison :left :right ScalarFunction ScalarFunction :f :+ :exprs :f :- :exprs 2 3 6 1
  • 6. Use the record zipper “(2 + 3) = (6 - 1)” :op := Comparison :left :right ScalarFunction ScalarFunction :f :+ :exprs :f :- :exprs 2 3 6 1
  • 7. Use the record zipper “(2 + 3) = (6 - 1)” :op := Comparison :left :right ScalarFunction ScalarFunction :f :+ :exprs :f :- :exprs 2 3 6 1
  • 8. Use the record zipper “(2 + 3) = (6 - 1)” :op := Comparison :left :right ScalarFunction ScalarFunction :f :+ :exprs :f :- :exprs 2 3 6 1
  • 9. Tree pattern mutator
  • 10. Apply evaluation rule Comparison :op := :left :right 5 ScalarFunction :f :- :exprs 6 1 Comparison :op := :left :right 5 5
  • 11. Revelytix • Data integration using semantic web • SPARQL -> SQL translation • SPARQL federation • Business rules engine • Emergent analytics
  • 12. SPARQL to SQL SELECT ?Person ?Name WHERE { Parse, translate to ?Person <http://domain/Person/Name> ?name SPARQL algebra } SPARQL algebra tree tree rules SQL query plan Plan using Optimize plan mapping SQL query plan SELECT 'http://domain/Person/' || ID, Name Generate SQL FROM People