Query Abstraction Layer: Difference between revisions

Content deleted Content added
No edit summary
Bender the Bot (talk | contribs)
m References: HTTP to HTTPS for SourceForge
 
(35 intermediate revisions by 11 users not shown)
Line 1:
{{Infobox software
{{csb-pageincludes|1=http://sourceforge.net/projects/qal/}}
| name = Query Abstraction Layer
| released = {{Start date|2013|9}}<ref name="Break out">[https://sourceforge.net/p/qal/code/ci/19b7acc042fc001bf1398709a5ff7c41907d65f0/log/?path= Commits breaking it out of Optimal BPM ]</ref>
| latest release version = 0.4.0<ref>[https://sourceforge.net/p/qal/blog/2014/10/qal-040-is-out/ Release news]</ref>
| latest release date = {{release date|2014|10|31}}
| genre = [[:Category:Python (programming language) libraries|Python libraries]]
| license = [[BSD license]]
| programming language = [[Python (programming language)|Python]]
| operating system = [[Cross-platform]]
| developer = Nicklas Börjesson
| website = {{URL|http://www.optimalbpm.se/wiki/index.php/QAL}}
}}
'''[https://sourceforge.net/projects/qal/ QAL(Query Abstraction Layer)]''' is an open -source development project that aims to create a collection of libraries for mixing, moving, merging, substituting and transforming data;<ref name="sf_project">[https://sourceforge.net/projects/qal/ Sourceforge project page]</ref> also in some cases, such as [[MongoDB]], [[database schema|schema]]s.
 
== Description ==
'''[https://sourceforge.net/projects/qal/ QAL(Query Abstraction Layer)]''' is an open source development project that aims to create a collection of libraries for mixing, moving, merging, substituting and transforming data.
Sources and destinations include different database backends, file formats like [[comma-separated values|<code>.csv</code>]], [[XML]] and spreadsheets. AndEven even[[tag soup|untidy HTML]] web pages can be used as both a source and destination.
And in some cases, like for MongoDB, schemas.
 
For [[:Category:Relational database management systems|SQL/RDBMS backends]], it has a database abstraction layer that supports basic connectivity to [[Postgres]], [[MySQL]] / [[MariaDB]], [[IBM Db2]], [[Oracle database|Oracle]] and [[MS SQL Server]].<ref name="db types">[http://optimalbpm.se/api/qal/_modules/qal/dal/types.html#db_types Database backends]</ref> It uses XML formats (the SQL schema is self-generated) for representation of queries, transformation and merging, making it all processable by scripts.
Sources and destinations include different database backends, file formats like .csv, XML and spreadsheets. And even untidy HTML web pages.
 
With regards to [[SQL]], QAL uses a subset of SQL features<ref>[http://optimalbpm.se/api/qal/qal.sql.html#qal.sql.sql SQL features supported]{{Dead link|date=July 2025 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> and data types,<ref>[http://optimalbpm.se/api/qal/_modules/qal/sql/types.html#data_types SQL data types]{{Dead link|date=July 2025 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> which while obviously not complete however is sufficient for most usages. It is however easy to instead use backend-specific SQL when the queries do not have to be backend-agnostic.
For [[:Category:Relational_database_management_systems |SQL/RDBMS backends]], it has a database abstraction layer that supports basic connectivity to Postgres, MySQL, DB2, Oracle and MS SQL server.
It uses XML formats(the SQL schema is self-generated) for representation of queries, transformation and merging, making it all scriptable.
 
It is currently distributed as a Python Library (<code>.egg</code>)<ref>[https://pypi.python.org/pypi/qal PyPi repository page]</ref> and a [[Debian package]] file ([[deb (file format)|<code>.deb</code>]]).<ref>[https://sourceforge.net/projects/qal/files/?source=navbar Downloadable files]</ref>
With regards to SQL, QAL uses a subset of [[SQL]] features and data types, which while not complete however should be sufficient for most usages. It is however easy to instead use backend specific SQL when the queries don't have to be backend-agnostic.
 
It is related to the [[Optimal BPM]] ([[Business Process Management]]) project.<ref>[http://www.optimalbpm.se Optimal BPM site]</ref> The Optimal BPM [[SourceForge]] project used to be DAL/QAL.<ref name="Break out"/>
It is currently distributed as a Python Library (.egg) and a debian package file(.deb).
 
==References==
It is related to the [https://sourceforge.net/projects/optimalbpm/ Optimal BPM] project. Historically, the Optimal BPM project used to be DAL/QAL.
{{Reflist|30em}}
{{CC-notice|cc=zero|url= https://sourceforge.net/projects/qal/ https://sourceforge.net/projects/qal/}}
 
==LinksExternal links==
* Documentation and examples: [http://www.optimalbpm.se/wiki/index.php/ QAL Documentation and examples]{{Dead link|date=July 2025 |bot=InternetArchiveBot |fix-attempted=yes }}
* [http://optimalbpm.se/api/qal/index.html API documentation:] {{Webarchive|url=https://web.archive.org/web/20170909131730/http://optimalbpm.se/api/qal/index.html |date=2017-09-09 }}
 
[[Category:Python Framework(programming language) libraries]]
[[Category:Free software programmed in Python]]
[[Category:Cross-platform free software]]