Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
user_guide:howto:polydb_api [2019/09/11 08:14] – [polyDB Structure] paffenholz | user_guide:howto:polydb_api [2019/09/11 14:42] – [Documentation entries in the Database] paffenholz |
---|
Any documentation for the sections and collections are in the collections ''_collectionInformation.section.sub.collection'' and ''_sectionInfo.section'', ''_sectionInfo.section.sub'' etc. | Any documentation for the sections and collections are in the collections ''_collectionInformation.section.sub.collection'' and ''_sectionInfo.section'', ''_sectionInfo.section.sub'' etc. |
| |
Data in the data collection is described by two documents in the mata collection: | Data in the data collection is described by two documents in the meta collection: |
* a document for //meta information//. This document should have the following entries | * a document for //meta information//. This document should have the following entries |
* ''description'': A short description of the data | * ''description'': A short description of the data, only for internal use, this will not be displayed. |
* ''maintainer'': Maintainer of the data in polyDB | * ''maintainer'': Maintainer of the data in polyDB, will be added to documents in the collection |
* ''creator'': Name of person creating the data | * ''creator'': Name of person creating the data, will be added to documents in the collection |
* ''contributor'': Name of the person who prepared the data for inclusion onto polyDB | * ''contributor'': Name of the person who prepared the data for inclusion onto polyDB, will be added to documents in the collection |
* ''fields'': A list of data fields contained in a document in the collection. This can be used to produce a list of data that can be queried from the collection. | * ''fields'': A list of data fields contained in a document in the collection. This can be used to produce a list of data that can be queried from the collection. |
* ''polydb_version'': the version of polyDB used to store the data | * ''polydb_version'': the version of polyDB used to store the data |
* ''section'': the section of the collection the schema applies to | * ''section'': the section of the collection the schema applies to |
* ''collection'': the collection the schema applies to | * ''collection'': the collection the schema applies to |
* ''schema'': The actual json schema. Both json schemas and MongoDB use ''$'' as a special character. We need to replace this in the schema for stroring as this would lead to conflicts otherwise. In ''polyDb'' we use ''__'' (two underscores) for this. | * ''schema'': The actual json schema. Both json schemas and MongoDB use ''$'' as a special character. We need to replace this in the schema for stroring as this would lead to conflicts otherwise. In ''polyDB'' we use ''__'' (two underscores) for this. |
The MongoDB ''_id'' of the info document is ''info.<polydb version>'' and of the schema document ''schema.<polydb version>'', where ''<polydb version.'' is the polydb version number for which the two documents apply. | The MongoDB ''_id'' of the info document is ''info.<polydb version>'' and of the schema document ''schema.<polydb version>'', where ''<polydb version.'' is the polydb version number for which the two documents apply. |
| |
| {{ :user_guide:info.2.1.json |Here}} is an example of a //meta information document//, {{ :user_guide:schema.2.1.json |here}} is the schema document as it is contained in ''polyDB'', and {{ :user_guide:original_schema.2.1.json |here}} is the original json schema. |
| |
| ==== Documentation entries in the Database ==== |
| |
| The documentation of a ''polyDB'' collection is stored in the MongoDB collection ''_collectionInfo.section.sub.collectionname''. Some information on sections and subsections is in ''_sectionInfo.section'', ''_sectionInfo.Section.Subsection_one'', etc. An example for a documentation document of a collection is {{ :user_guide:tropical.cubics.2.1.json |here}}, a documentation document for a section is {{ :user_guide:howto:tropical.2.1.json |here}}. This should sufficiently explain the structure of the documents. |
| |
| ==== Permissions and Roles ==== |
| |
| |
==== More Specifications for Data coming from ''polymake'' in the ''polyDB'' ==== | ==== More Specifications for Data coming from ''polymake'' in the ''polyDB'' ==== |