Object database: Difference between revisions

Content deleted Content added
Adamretter (talk | contribs)
Standards: Added further citation for XQuery processors
WikiCleanerBot (talk | contribs)
m v2.05b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation)
Line 100:
In January 2007 the [[World Wide Web Consortium]] gave final recommendation status to the [[XQuery]] language. XQuery uses [[XML]] as its data model. Some of the ideas developed originally for object databases found their way into XQuery, but XQuery is not intrinsically object-oriented. Because of the popularity of XML, XQuery engines compete with object databases as a vehicle for storage of data that is too complex or variable to hold conveniently in a relational database. XQuery also allows modules to be written to provide encapsulation features that have been provided by Object-Oriented systems.
 
[[XQuery|XQuery v1]] and [[XPath 2.0|XPath v2]] and later are powerful and are available in both open source and libre (FOSS) software,<ref>{{cite web|url=https://basex.org/basex/xquery/|title=BaseX XQuery Processor|website=basex.org|url-status=live|archive-url=https://web.archive.org/web/20231216035330/https://basex.org/basex/xquery/|archive-date=2023-12-16}}</ref><ref>{{cite web|url=https://exist-db.org/exist/apps/doc/xquery|title=XQuery in eXist-db|website=exist-db.org|url-status=live|archive-url=https://web.archive.org/web/20231202052435/https://exist-db.org/exist/apps/doc/xquery|archive-date=2023-12-02}}</ref><ref>{{cite web|url=https://www.saxonica.com/html/documentation/using-xquery/index.html|title=Saxon - Using XQuery|website=www.saxonica.com|url-status=live|archive-url=https://web.archive.org/web/20200923004515/https://www.saxonica.com/html/documentation/using-xquery/index.html|archive-date=2020-09-23}}</ref>, as well as in commercial systems. They are easy to learn and use, and very powerful and fast. They are not relational and XQuery is not based on SQL (although one of the people who designed XQuery also co-invented SQL). But they are also not object-oriented, in the programming sense: XQuery does not use encapsulation with hiding, implicit dispatch, and classes and methods. XQuery databases generally use XML and JSON as an interchange format, although other formats are used.
 
Since the early 2000s [[JSON]] has gained community adoption and popularity in applications where developers are in control of the data format. [[JSONiq]], a query-analog of XQuery for JSON (sharing XQuery's core expressions and operations), demonstrated the functional equivalence of the JSON and XML formats for data-oriented information. In this context, the main strategy of OODBMS maintainers was to retrofit JSON to their databases (by using it as the internal data type).