TinyKB is a Python module for defining and handling object-oriented knowledge bases composed by cross-referencing classes and objects stored in a SQL DBMS. It is also a “dynamic object-relational mapper” in two senses: the knowl- edge base elements are dynamically mapped into autogenerated Python classes and objects, and the SQL schema is dynamically extended according to class definitions. This approach departs from other ORMs, which usually expect SQL-mapped Python classes to be statically defined in the source code, and provide little or no support for run-time SQL schema extension. TinyKB uses Python dynamic features to provide an easy-to-use API for querying and han- dling the knowledge base, while at the same time ensuring that the underlying SQL schema is normalized, well-typed and data-centric (thus leveraging the DBMS capabilities for data consistency and integrity).
TinyKB: a dynamic class/object store and ORM for Python
SCALAS, ALCESTE
2011-01-01
Abstract
TinyKB is a Python module for defining and handling object-oriented knowledge bases composed by cross-referencing classes and objects stored in a SQL DBMS. It is also a “dynamic object-relational mapper” in two senses: the knowl- edge base elements are dynamically mapped into autogenerated Python classes and objects, and the SQL schema is dynamically extended according to class definitions. This approach departs from other ORMs, which usually expect SQL-mapped Python classes to be statically defined in the source code, and provide little or no support for run-time SQL schema extension. TinyKB uses Python dynamic features to provide an easy-to-use API for querying and han- dling the knowledge base, while at the same time ensuring that the underlying SQL schema is normalized, well-typed and data-centric (thus leveraging the DBMS capabilities for data consistency and integrity).I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.