SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
XQuery Novelties
Geert Josten

Hardcore XML track
XML Holland


                     11 november 2010
Agenda

   Original Scope
   Extending Scope
   Newest Extensions
   Beyond Scope
   Summary




11 november 2010        Hardcore XML - XQuery   2
about XQuery

“XQuery is replacing proprietary middleware
  languages and Web Application
  development languages.”




11 november 2010       Hardcore XML - XQuery   3
About XQuery

“XQuery is replacing proprietary middleware
  languages and Web Application
  development languages.”

 Observation, glue
 More and more XQuery applications
 Beyond original scope


11 november 2010         Hardcore XML - XQuery   4
Original scope




11 november 2010      Hardcore XML - XQuery   5
Origin

 1999, XPath and XSLT not enough
 Query languages applied to XML
       SQL, OQL, Lorel, ..  XML-QL, XQL
                                                          XQuery
 Merged into Quilt
 XQuery WD in 2001




                                                 XQuery




                                                                       XQuery
                                                          XQuery
11 november 2010         Hardcore XML - XQuery                     6
Origin




11 november 2010   Hardcore XML - XQuery   7
Extending scope




11 november 2010       Hardcore XML - XQuery   8
Database features

   Efficient storage and extraction  XQuery 1.0
   Searching
   Transactional updating
   Data integrity, Triggers
   Simultaneous access
   Security, Crash-recovery
   Optionally: Versioning
   ...
11 november 2010          Hardcore XML - XQuery     9
XQuery and XPath Full Text 1.0

 First extension, 2004
       W3C Candidate Recommendation
 Search within specific nodes
       Advanced „contains‟ expressions
       Options
            • stemming, wildcards, thesaurus, ...
       Relevance ranking
 Lot of implementations, few compliant

11 november 2010                Hardcore XML - XQuery   10
XQuery Update Facility 1.0

 Introduced in 2006
       W3C Candidate Recommendation
 Updating of individual nodes:
       insert, delete, replace, rename, and transform
 No return values!
 Various implementations, partly compliant




11 november 2010           Hardcore XML - XQuery         11
Newest extensions




11 november 2010        Hardcore XML - XQuery   12
XQuery Data Definition Facility

 Presented at XML Prague 2010
       28msec and ETH Zürich
 Static declaration:
       collections, indexes and constraints
 Functions:
       Updating collections
       Probing indexes
 One implementation?
       Zorba / Sausalito
11 november 2010               Hardcore XML - XQuery   13
Update compositions

 Presented at XML Prague 2010
       ETH Zürich and Oracle
 Storage cheap
       Keep all changes
 Consolidated changes aka composition
 Versions integral part of tree
 No implementations?



11 november 2010           Hardcore XML - XQuery   14
Beyond scope




11 november 2010      Hardcore XML - XQuery   15
XQuery Scripting Extension 1.0 (SX)

 W3C Working Draft since 2008
 Procedural constructs
       While, variable assignment, exit, ..
       Breaks functional approach
 Also allows multiple, incremental updates
       Update *and* return results
       Very useful for application logic
 Few implementations yet

11 november 2010             Hardcore XML - XQuery   16
XQuery 1.1

 W3C Working Draft since 2008
 Lots of small improvements
         Improved FLWOR
         Try/Catch
         Dynamic function invocation
         Output declarations
 Mature language, design patterns
 Not many implementations yet

11 november 2010             Hardcore XML - XQuery   17
XRX and NoSQL

 NoSQL:
       Use non-relational database
       Open source or open standard (like XQuery)
 XRX:
       Xforms + Rest + Xquery
       Innovative two-tier architecture
       XForms front-end, XQuery back-end,
          REST api
 Breaking long-lasting traditions
11 november 2010            Hardcore XML - XQuery    18
Summary




11 november 2010    Hardcore XML - XQuery   19
Database features revisited

 Features covered:
       Extraction, Searching, Updating, Data constraints,
        Versioning
       Functional in nature
 Uncovered:
       Storage, Security, Triggers, Crash-recovery..
       Mostly technical, necessary?
       More lacking?


11 november 2010           Hardcore XML - XQuery             20
Just remember


XQuery is not just for querying XML!




11 november 2010    Hardcore XML - XQuery   21
Questions?




11 november 2010     Hardcore XML - XQuery   22
Timeline




11 november 2010   Hardcore XML - XQuery   23
XQuery and XPath Full Text 1.0

  Contains expression

for $b in /books/book         Combined search

where $b/title
     contains text "improving“ ftand "usability“
         ordered distance at most 2 words at start
return
                                                 Advanced search criterium
     $b


11 november 2010             Hardcore XML - XQuery                    24
XQuery Data Definition Facility
declare collection users as element()*;
declare automatically maintained index users-by-id
  on nodes xqddf:collection( xs:QName(“users") )
  by @id as xs:string;
xqddf:insert-nodes(
  xs:QName(“users"), <user id=“geert”/> );
xqddf:probe-index-point(
  xs:QName(“users-by-id"), “geert” );
11 november 2010           Hardcore XML - XQuery     25

Contenu connexe

Similaire à XQuery Novelties (XML Holland 2010)

Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...InSync2011
 
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introductionBalisage - EXPath - A practical introduction
Balisage - EXPath - A practical introductionFlorent Georges
 
Migration from FAST ESP to Solr
Migration from FAST ESP to SolrMigration from FAST ESP to Solr
Migration from FAST ESP to SolrTNR Global
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityMarkku Laine
 
XML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processorXML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processorjimfuller2009
 
XForms workshop slides
XForms workshop slidesXForms workshop slides
XForms workshop slidesewg118
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1Marco Gralike
 
The power of faceted search in alfresco
The power of faceted search in alfrescoThe power of faceted search in alfresco
The power of faceted search in alfrescoXeniT Solutions nv
 
Hotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataHotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataMarco Gralike
 
Best Practices - Mobile Developer Summit
Best Practices - Mobile Developer SummitBest Practices - Mobile Developer Summit
Best Practices - Mobile Developer Summitwolframkriesing
 
Linq to xml
Linq to xmlLinq to xml
Linq to xmlMickey
 
XML - State of the Art
XML - State of the ArtXML - State of the Art
XML - State of the ArtJakub Malý
 
Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesMarco Gralike
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Marco Gralike
 
Taking Advantage of XMetaL’s XInclude Support
Taking Advantage of XMetaL’s XInclude SupportTaking Advantage of XMetaL’s XInclude Support
Taking Advantage of XMetaL’s XInclude SupportXMetaL
 
Ample SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkAmple SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkBéla Varga
 
Working with xml data
Working with xml dataWorking with xml data
Working with xml dataaspnet123
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentOctavian Nadolu
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataMarco Gralike
 

Similaire à XQuery Novelties (XML Holland 2010) (20)

Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
 
Balisage - EXPath - A practical introduction
Balisage - EXPath - A practical introductionBalisage - EXPath - A practical introduction
Balisage - EXPath - A practical introduction
 
Migration from FAST ESP to Solr
Migration from FAST ESP to SolrMigration from FAST ESP to Solr
Migration from FAST ESP to Solr
 
Extending XForms with Server-Side Functionality
Extending XForms with Server-Side FunctionalityExtending XForms with Server-Side Functionality
Extending XForms with Server-Side Functionality
 
XML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processorXML London 2013 - Architecture of xproc.xq an XProc processor
XML London 2013 - Architecture of xproc.xq an XProc processor
 
XForms workshop slides
XForms workshop slidesXForms workshop slides
XForms workshop slides
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
 
The power of faceted search in alfresco
The power of faceted search in alfrescoThe power of faceted search in alfresco
The power of faceted search in alfresco
 
Hotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataHotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured Data
 
Best Practices - Mobile Developer Summit
Best Practices - Mobile Developer SummitBest Practices - Mobile Developer Summit
Best Practices - Mobile Developer Summit
 
Linq to xml
Linq to xmlLinq to xml
Linq to xml
 
XML - State of the Art
XML - State of the ArtXML - State of the Art
XML - State of the Art
 
Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use Cases
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
 
Taking Advantage of XMetaL’s XInclude Support
Taking Advantage of XMetaL’s XInclude SupportTaking Advantage of XMetaL’s XInclude Support
Taking Advantage of XMetaL’s XInclude Support
 
Ample SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkAmple SDK - Open Source GUI Framework
Ample SDK - Open Source GUI Framework
 
Linq To XML Overview
Linq To XML OverviewLinq To XML Overview
Linq To XML Overview
 
Working with xml data
Working with xml dataWorking with xml data
Working with xml data
 
Exploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - DevelopmentExploring the new features in Oxygen XML Editor 20 - Development
Exploring the new features in Oxygen XML Editor 20 - Development
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured data
 

Dernier

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Dernier (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

XQuery Novelties (XML Holland 2010)

  • 1. XQuery Novelties Geert Josten Hardcore XML track XML Holland 11 november 2010
  • 2. Agenda  Original Scope  Extending Scope  Newest Extensions  Beyond Scope  Summary 11 november 2010 Hardcore XML - XQuery 2
  • 3. about XQuery “XQuery is replacing proprietary middleware languages and Web Application development languages.” 11 november 2010 Hardcore XML - XQuery 3
  • 4. About XQuery “XQuery is replacing proprietary middleware languages and Web Application development languages.”  Observation, glue  More and more XQuery applications  Beyond original scope 11 november 2010 Hardcore XML - XQuery 4
  • 5. Original scope 11 november 2010 Hardcore XML - XQuery 5
  • 6. Origin  1999, XPath and XSLT not enough  Query languages applied to XML  SQL, OQL, Lorel, ..  XML-QL, XQL XQuery  Merged into Quilt  XQuery WD in 2001 XQuery XQuery XQuery 11 november 2010 Hardcore XML - XQuery 6
  • 7. Origin 11 november 2010 Hardcore XML - XQuery 7
  • 8. Extending scope 11 november 2010 Hardcore XML - XQuery 8
  • 9. Database features  Efficient storage and extraction  XQuery 1.0  Searching  Transactional updating  Data integrity, Triggers  Simultaneous access  Security, Crash-recovery  Optionally: Versioning  ... 11 november 2010 Hardcore XML - XQuery 9
  • 10. XQuery and XPath Full Text 1.0  First extension, 2004  W3C Candidate Recommendation  Search within specific nodes  Advanced „contains‟ expressions  Options • stemming, wildcards, thesaurus, ...  Relevance ranking  Lot of implementations, few compliant 11 november 2010 Hardcore XML - XQuery 10
  • 11. XQuery Update Facility 1.0  Introduced in 2006  W3C Candidate Recommendation  Updating of individual nodes:  insert, delete, replace, rename, and transform  No return values!  Various implementations, partly compliant 11 november 2010 Hardcore XML - XQuery 11
  • 12. Newest extensions 11 november 2010 Hardcore XML - XQuery 12
  • 13. XQuery Data Definition Facility  Presented at XML Prague 2010  28msec and ETH Zürich  Static declaration:  collections, indexes and constraints  Functions:  Updating collections  Probing indexes  One implementation?  Zorba / Sausalito 11 november 2010 Hardcore XML - XQuery 13
  • 14. Update compositions  Presented at XML Prague 2010  ETH Zürich and Oracle  Storage cheap  Keep all changes  Consolidated changes aka composition  Versions integral part of tree  No implementations? 11 november 2010 Hardcore XML - XQuery 14
  • 15. Beyond scope 11 november 2010 Hardcore XML - XQuery 15
  • 16. XQuery Scripting Extension 1.0 (SX)  W3C Working Draft since 2008  Procedural constructs  While, variable assignment, exit, ..  Breaks functional approach  Also allows multiple, incremental updates  Update *and* return results  Very useful for application logic  Few implementations yet 11 november 2010 Hardcore XML - XQuery 16
  • 17. XQuery 1.1  W3C Working Draft since 2008  Lots of small improvements  Improved FLWOR  Try/Catch  Dynamic function invocation  Output declarations  Mature language, design patterns  Not many implementations yet 11 november 2010 Hardcore XML - XQuery 17
  • 18. XRX and NoSQL  NoSQL:  Use non-relational database  Open source or open standard (like XQuery)  XRX:  Xforms + Rest + Xquery  Innovative two-tier architecture  XForms front-end, XQuery back-end, REST api  Breaking long-lasting traditions 11 november 2010 Hardcore XML - XQuery 18
  • 19. Summary 11 november 2010 Hardcore XML - XQuery 19
  • 20. Database features revisited  Features covered:  Extraction, Searching, Updating, Data constraints, Versioning  Functional in nature  Uncovered:  Storage, Security, Triggers, Crash-recovery..  Mostly technical, necessary?  More lacking? 11 november 2010 Hardcore XML - XQuery 20
  • 21. Just remember XQuery is not just for querying XML! 11 november 2010 Hardcore XML - XQuery 21
  • 22. Questions? 11 november 2010 Hardcore XML - XQuery 22
  • 23. Timeline 11 november 2010 Hardcore XML - XQuery 23
  • 24. XQuery and XPath Full Text 1.0 Contains expression for $b in /books/book Combined search where $b/title contains text "improving“ ftand "usability“ ordered distance at most 2 words at start return Advanced search criterium $b 11 november 2010 Hardcore XML - XQuery 24
  • 25. XQuery Data Definition Facility declare collection users as element()*; declare automatically maintained index users-by-id on nodes xqddf:collection( xs:QName(“users") ) by @id as xs:string; xqddf:insert-nodes( xs:QName(“users"), <user id=“geert”/> ); xqddf:probe-index-point( xs:QName(“users-by-id"), “geert” ); 11 november 2010 Hardcore XML - XQuery 25