-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes: #361
- Loading branch information
Showing
2 changed files
with
121 additions
and
218 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
APIS | ||
==== | ||
|
||
The `Austrian Prosophographic Information System` is a | ||
[Django](https://www.djangoproject.com/) based prosopography framework. It | ||
allows to create web applications to manage entities and relations between | ||
entities. It provides API access to the data in various formats and creates | ||
swagger defintions. A swagger-ui allows for comfortable access to the data. | ||
|
||
Data can also be imported from remote resources described in | ||
[RDF](https://en.wikipedia.org/wiki/Resource_Description_Framework). | ||
|
||
In addition to this configurable import of data via RDF, there is also an | ||
configurable serialization of data. The generic RestAPI of APIS provides data | ||
either in the internal JSON format, TEI or RDF (serialized with `CIDOC CRM`_). | ||
|
||
APIS comes with a built in system of autocompletes that allows researchers to | ||
import meta-data of entities with just a single click. Out of the box APIS | ||
supports Stanbol_ as a backend for the autocompletes, but the system is rather | ||
easy to adapt to any Restfull API. APIS also supports the parsing of RDFs_ | ||
describing entities into an entity. The parsing is configured in a settings | ||
file. | ||
|
||
*Entities* | ||
|
||
*Relations* | ||
|
||
Licensing | ||
--------- | ||
|
||
All code unless otherwise noted is licensed under the terms of the MIT License | ||
(MIT). Please refer to the file LICENSE in the root directory of this | ||
repository. | ||
|
||
All documentation and images unless otherwise noted are licensed under the | ||
terms of Creative Commons Attribution-ShareAlike 4.0 International License. To | ||
view a copy of this license, visit | ||
http://creativecommons.org/licenses/by-sa/4.0/ | ||
|
||
|
||
Installation | ||
------------ | ||
|
||
Create a project using your favourite package manager: | ||
|
||
```shell | ||
poetry new foobar --name apis_ontology | ||
``` | ||
|
||
Currently (as of 2023-10) the name of the apis application **has** to be | ||
`apis_ontology` - this is considered a bug and is tracked in [this bug | ||
report](https://github.com/acdh-oeaw/apis-core-rdf/issues/100). | ||
|
||
In your project folder, add apis as a dependency: | ||
|
||
```shell | ||
poetry add git+https://github.com/acdh-oeaw/apis-core-rdf#v0.6.1 | ||
``` | ||
|
||
Setup your Django project | ||
```shell | ||
rm -rf apis_ontology | ||
poetry run django-admin startproject apis_ontology . | ||
``` | ||
|
||
Now start using your Django project | ||
```shell | ||
poetry run ./manage.py runserver | ||
``` | ||
|
||
To use the APIS framework in your application, add the following APIS modules to your Django settings module: | ||
|
||
```python | ||
"apis_ontology", | ||
"apis_core.core", | ||
"apis_core.apis_entities", | ||
"apis_core.apis_metainfo", | ||
"apis_core.apis_relations", | ||
"apis_core.apis_vocabularies", | ||
"apis_core.apis_labels", | ||
|
||
``` | ||
|
||
### Dependencies | ||
|
||
```shell | ||
poetry add git+https://github.com/acdh-oeaw/apis-override-select2js#v0.1.0 | ||
``` | ||
|
||
`apis_override_select2js` is a workaround for APIS' handling of autocomplete forms. You will need it | ||
if you want to use autocomplete. Add it to your `INSTALLED_APPS` | ||
|
||
```python | ||
"apis_override_select2js" | ||
``` | ||
|
||
|
||
You will also need the following dependencies: | ||
```shell | ||
poetry add django-crispy-forms django-filter django-tables2 django-autocomplete-light django-rest-framework drf-spectacular | ||
``` | ||
Add them to the `INSTALLED_APPS`: | ||
|
||
```python | ||
# ui stuff | ||
"crispy_forms", | ||
"django_filters", | ||
"django_tables2", | ||
"dal", | ||
"dal_select2", | ||
|
||
# api | ||
"rest_framework", | ||
"rest_framework.authtoken", | ||
|
||
# for swagger ui generation | ||
"drf_spectacular", | ||
|
||
``` | ||
|
||
Now you should be ready to roll. Start creating your entities in you `apis_ontology/models.py`. |
This file was deleted.
Oops, something went wrong.