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.

# Tree Editing with Zippers

• 2,743 views
Uploaded on

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.

More in: Technology
• Comment goes here.
Are you sure you want to
Your message goes here
Be the first to comment
Be the first to like this
No Downloads

Total Views
2,743
On Slideshare
0
From Embeds
0
Number of Embeds
2

Shares
Downloads
39
Comments
0
Likes
0

No embeds

### Report content

No notes for slide

### 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 ﬁelds 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