SlideShare ist ein Scribd-Unternehmen logo
1 von 26
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 (PUL) 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
       Output declarations
 Dynamic function invocation
       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
Further reading

 W3C:
       http://www.w3.org/XML/Query/
       http://www.w3.org/standards/techs/xquery


 XML Prague:
       http://www.xmlprague.cz/2010/index.html
       http://www.zorba-
        xquery.com/downloads/xmlprague/papers/pulcomposition.pdf
       http://download.28msec.com/sausalito/technical_reading/xqddf.pdf

11 november 2010             Hardcore XML - XQuery                   23
Timeline




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

  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                    25
XQuery Data Definition Facility example

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     26

Weitere ähnliche Inhalte

Ähnlich wie XQuery Novelties (XML Holland 2010 - hardcore 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 ...
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
 
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
 
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
 
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
 
XML - State of the Art
XML - State of the ArtXML - State of the Art
XML - State of the ArtJakub Malý
 
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
 
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
 
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
 
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
 
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
 
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
 
Linq to xml
Linq to xmlLinq to xml
Linq to xmlMickey
 
Best Practices - Mobile Developer Summit
Best Practices - Mobile Developer SummitBest Practices - Mobile Developer Summit
Best Practices - Mobile Developer Summitwolframkriesing
 
EXPath: the packaging system and the webapp framework
EXPath: the packaging system and the webapp frameworkEXPath: the packaging system and the webapp framework
EXPath: the packaging system and the webapp frameworkFlorent Georges
 
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 Prague 2005 EXSLT
XML Prague 2005 EXSLTXML Prague 2005 EXSLT
XML Prague 2005 EXSLTjimfuller2009
 

Ähnlich wie XQuery Novelties (XML Holland 2010 - hardcore xml) (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
 
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
 
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
 
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
 
XML - State of the Art
XML - State of the ArtXML - State of the Art
XML - State of the Art
 
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...
 
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
 
Ample SDK - Open Source GUI Framework
Ample SDK - Open Source GUI FrameworkAmple SDK - Open Source GUI Framework
Ample SDK - Open Source GUI Framework
 
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
 
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
 
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
 
Linq to xml
Linq to xmlLinq to xml
Linq to xml
 
Best Practices - Mobile Developer Summit
Best Practices - Mobile Developer SummitBest Practices - Mobile Developer Summit
Best Practices - Mobile Developer Summit
 
EXPath: the packaging system and the webapp framework
EXPath: the packaging system and the webapp frameworkEXPath: the packaging system and the webapp framework
EXPath: the packaging system and the webapp framework
 
Is Ldap Dead ?
Is Ldap Dead ?Is Ldap Dead ?
Is Ldap Dead ?
 
Linq To XML Overview
Linq To XML OverviewLinq To XML Overview
Linq To XML Overview
 
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 Prague 2005 EXSLT
XML Prague 2005 EXSLTXML Prague 2005 EXSLT
XML Prague 2005 EXSLT
 

Kürzlich hochgeladen

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
[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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 

Kürzlich hochgeladen (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 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...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.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
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.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
 

XQuery Novelties (XML Holland 2010 - hardcore xml)

  • 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 (PUL) 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  Output declarations  Dynamic function invocation  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. Further reading  W3C:  http://www.w3.org/XML/Query/  http://www.w3.org/standards/techs/xquery  XML Prague:  http://www.xmlprague.cz/2010/index.html  http://www.zorba- xquery.com/downloads/xmlprague/papers/pulcomposition.pdf  http://download.28msec.com/sausalito/technical_reading/xqddf.pdf 11 november 2010 Hardcore XML - XQuery 23
  • 24. Timeline 11 november 2010 Hardcore XML - XQuery 24
  • 25. XQuery and XPath Full Text 1.0 example 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 25
  • 26. XQuery Data Definition Facility example 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 26