From 14c3ca7cd7f30c64bbccb8a4d2d3aff384395aac Mon Sep 17 00:00:00 2001 From: Gytha Ogg Date: Mon, 22 Apr 2024 09:30:41 +0200 Subject: [PATCH 1/2] Add relations --- apis_ontology/models.py | 504 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 504 insertions(+) diff --git a/apis_ontology/models.py b/apis_ontology/models.py index 6a9dfd6..e2f09d4 100644 --- a/apis_ontology/models.py +++ b/apis_ontology/models.py @@ -13,6 +13,7 @@ from django.db import models from django.urls import reverse +from apis_core.relations.models import Relation class TibScholEntityMixin(models.Model): @@ -210,3 +211,506 @@ class ZoteroEntry(GenericModel, models.Model): year = models.CharField( max_length=255, blank=True, null=True, verbose_name="Year of publication" ) + + +####################################################################################### +###################################RELATIONS########################################### +####################################################################################### + + +class TibScholRelationMixin(Relation, LegacyDateMixin): + CONFIDENCE = [ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ] + + zotero_refs = models.TextField(blank=True, null=True, verbose_name="Zotero") + tei_refs = models.TextField(blank=True, null=True, verbose_name="Excerpts") + support_notes = models.TextField( + blank=True, null=True, verbose_name="Support notes" + ) + confidence = models.CharField( + blank=True, + null=True, + default="Positive", + choices=CONFIDENCE, + verbose_name="Confidence", + max_length=1000, + ) + + @property + def subject_type(self): + return str(self.subj_model.__name__).lower() + + @property + def object_type(self): + return str(self.obj_model.__name__).lower() + + class Meta: + abstract = True + + +class PersonActiveAtPlace(TibScholRelationMixin): + subj_model = Person + obj_model = Place + name = "active at" + reverse_name = "place of activity of" + temptriple_name = "active at" + temptriple_name_reverse = "place of activity of" + + +class PersonAddresseeOfWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "addressee of" + reverse_name = "addressed to" + temptriple_name = "addressee of" + temptriple_name_reverse = "addressed to" + + +class PersonAuntMaternalPaternalOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "aunt (maternal/paternal) of" + reverse_name = "nephew (maternal/paternal) of" + temptriple_name = "aunt (maternal/paternal) of" + temptriple_name_reverse = "nephew (maternal/paternal) of" + + +class PersonAuthorOfWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "author of" + reverse_name = "composed by" + temptriple_name = "author of" + temptriple_name_reverse = "composed by" + + +class PersonBiographedInWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "biographed in" + reverse_name = "biography of" + temptriple_name = "biographed in" + temptriple_name_reverse = "biography of" + + +class PersonBiographerOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "biographer of" + reverse_name = "biographed by" + temptriple_name = "biographer of" + temptriple_name_reverse = "biographed by" + + +class PersonCitesWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "cites" + reverse_name = "is cited by" + temptriple_name = "cites" + temptriple_name_reverse = "is cited by" + + +class WorkCommentaryOnWork(TibScholRelationMixin): + subj_model = Work + obj_model = Work + name = "commentary on" + reverse_name = "has as a commentary" + temptriple_name = "commentary on" + temptriple_name_reverse = "has as a commentary" + + +class WorkComposedAtPlace(TibScholRelationMixin): + subj_model = Work + obj_model = Place + name = "composed at" + reverse_name = "place of composition for" + temptriple_name = "composed at" + temptriple_name_reverse = "place of composition for" + + +class WorkContainsCitationsOfWork(TibScholRelationMixin): + subj_model = Work + obj_model = Work + name = "contains citations of" + reverse_name = "is cited in" + temptriple_name = "contains citations of" + temptriple_name_reverse = "is cited in" + + +class InstanceCopiedWrittenDownAtPlace(TibScholRelationMixin): + subj_model = Instance + obj_model = Place + name = "copied/written down at" + reverse_name = "place of scribing for" + temptriple_name = "copied/written down at" + temptriple_name_reverse = "place of scribing for" + + +class PersonDirectPredecessorInLineageOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "direct predecessor (in lineage) of" + reverse_name = "direct successor (in lineage) of" + temptriple_name = "direct predecessor (in lineage) of" + temptriple_name_reverse = "direct successor (in lineage) of" + subject_of_teaching = ( + models.CharField( # TODO: Controlled vocabulary with Work.Subject + max_length=255, + blank=True, + null=True, + verbose_name="subject of teaching", + ) + ) + + +class PersonDiscipleOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "disciple of" + reverse_name = "spiritual teacher of" + temptriple_name = "disciple of" + temptriple_name_reverse = "spiritual teacher of" + subject_of_teaching = ( + models.CharField( # TODO: Controlled vocabulary with Work.Subject + max_length=255, + blank=True, + null=True, + verbose_name="subject of teaching", + ) + ) + + +class PersonEditorOfInstance(TibScholRelationMixin): + subj_model = Person + obj_model = Instance + name = "editor of" + reverse_name = "edited by" + temptriple_name = "editor of" + temptriple_name_reverse = "edited by" + + +class PersonFellowMonkOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "fellow monk of" + reverse_name = "fellow monk of" + temptriple_name = "fellow monk of" + temptriple_name_reverse = "fellow monk of" + + +class PersonFellowStudentOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "fellow student of" + reverse_name = "fellow student of" + temptriple_name = "fellow student of" + temptriple_name_reverse = "fellow student of" + + +class WorkHasAsAnInstanceInstance(TibScholRelationMixin): + subj_model = Work + obj_model = Instance + name = "has as an instance" + reverse_name = "instance of" + temptriple_name = "has as an instance" + temptriple_name_reverse = "instance of" + + +class PersonHasOtherTypeOfPersonalRelationToPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "has other type of personal relation to" + reverse_name = "has other type of personal relation to" + temptriple_name = "has other type of personal relation to" + temptriple_name_reverse = "has other type of personal relation to" + + +class PersonIllustratorOfInstance(TibScholRelationMixin): + subj_model = Person + obj_model = Instance + name = "illustrator of" + reverse_name = "illustrated by" + temptriple_name = "illustrator of" + temptriple_name_reverse = "illustrated by" + + +class InstanceIsCopiedFromInstance(TibScholRelationMixin): + subj_model = Instance + obj_model = Instance + name = "is copied from" + reverse_name = "is source for" + temptriple_name = "is copied from" + temptriple_name_reverse = "is source for" + + +class PlaceIsLocatedWithinPlace(TibScholRelationMixin): + subj_model = Place + obj_model = Place + name = "is located within" + reverse_name = "contains" + temptriple_name = "is located within" + temptriple_name_reverse = "contains" + + +class PersonLenderOfInstance(TibScholRelationMixin): + subj_model = Person + obj_model = Instance + name = "lender of" + reverse_name = "lent by" + temptriple_name = "lender of" + temptriple_name_reverse = "lent by" + + +class WorkNamesPerson(TibScholRelationMixin): + subj_model = Work + obj_model = Person + name = "names" + reverse_name = "is named in" + temptriple_name = "names" + temptriple_name_reverse = "is named in" + + +class WorkNamesWork(TibScholRelationMixin): + subj_model = Work + obj_model = Work + name = "names" + reverse_name = "is named in" + temptriple_name = "names" + temptriple_name_reverse = "is named in" + + +class PersonOrdinatorOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "ordinator of" + reverse_name = "ordained by" + temptriple_name = "ordinator of" + temptriple_name_reverse = "ordained by" + + +class PersonOwnerOfInstance(TibScholRelationMixin): + subj_model = Person + obj_model = Instance + name = "owner of" + reverse_name = "owned by" + temptriple_name = "owner of" + temptriple_name_reverse = "owned by" + + +class PersonParentOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "parent of" + reverse_name = "child of" + temptriple_name = "parent of" + temptriple_name_reverse = "child of" + + +class PersonPatronOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "patron of" + reverse_name = "protegee of" + temptriple_name = "patron of" + temptriple_name_reverse = "protegee of" + + +class PersonPromoterOfWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "promoter of" + reverse_name = "promoted by" + temptriple_name = "promoter of" + temptriple_name_reverse = "promoted by" + + +class PersonPrompterOfWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "prompter of" + reverse_name = "prompted by" + temptriple_name = "prompter of" + temptriple_name_reverse = "prompted by" + + +class WorkQuotesWithNameTheViewsOfPerson(TibScholRelationMixin): + subj_model = Work + obj_model = Person + name = "quotes (with name) the views of" + reverse_name = "has views quoted (with name) in" + temptriple_name = "quotes (with name) the views of" + temptriple_name_reverse = "has views quoted (with name) in" + + +class WorkQuotesWithoutNameTheViewsOfPerson(TibScholRelationMixin): + subj_model = Work + obj_model = Person + name = "quotes (without name) the views of" + reverse_name = "has views quoted (without name) in" + temptriple_name = "quotes (without name) the views of" + temptriple_name_reverse = "has views quoted (without name) in" + + +class WorkRecordsTheTeachingOfPerson(TibScholRelationMixin): + subj_model = Work + obj_model = Person + name = "records the teaching of" + reverse_name = "has their teaching recorded in" + temptriple_name = "records the teaching of" + temptriple_name_reverse = "has their teaching recorded in" + + +class PersonRefersWithNameToTheViewsOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "refers (with name) to the views of" + reverse_name = "has views referred to (with name) by" + temptriple_name = "refers (with name) to the views of" + temptriple_name_reverse = "has views referred to (with name) by" + subject_of_teaching = ( + models.CharField( # TODO: Controlled vocabulary with Work.Subject + max_length=255, + blank=True, + null=True, + verbose_name="subject of teaching", + ) + ) + + +class PersonRefersWithoutNameToTheViewsOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "refers (without name) to the views of" + reverse_name = "has views referred to (without name) by" + temptriple_name = "refers (without name) to the views of" + temptriple_name_reverse = "has views referred to (without name) by" + subject_of_teaching = ( + models.CharField( # TODO: Controlled vocabulary with Work.Subject + max_length=255, + blank=True, + null=True, + verbose_name="subject of teaching", + ) + ) + + +class PersonRequestorOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "requestor of" + reverse_name = "requested by" + temptriple_name = "requestor of" + temptriple_name_reverse = "requested by" + subject_of_teaching = ( + models.CharField( # TODO: Controlled vocabulary with Work.Subject + max_length=255, + blank=True, + null=True, + verbose_name="subject of teaching", + ) + ) + + +class PersonScribeOfInstance(TibScholRelationMixin): + subj_model = Person + obj_model = Instance + name = "scribe of" + reverse_name = "copied/written down by" + temptriple_name = "scribe of" + temptriple_name_reverse = "copied/written down by" + + +class PersonSiblingOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "sibling of" + reverse_name = "sibling of" + temptriple_name = "sibling of" + temptriple_name_reverse = "sibling of" + + +class PersonSpiritualFriendOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "spiritual friend of" + reverse_name = "has as spiritual friend" + temptriple_name = "spiritual friend of" + temptriple_name_reverse = "has as spiritual friend" + + +class PersonSponsorOfInstance(TibScholRelationMixin): + subj_model = Person + obj_model = Instance + name = "sponsor of" + reverse_name = "sponsored by" + temptriple_name = "sponsor of" + temptriple_name_reverse = "sponsored by" + + +class PersonStudentOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "student of" + reverse_name = "teacher of" + temptriple_name = "student of" + temptriple_name_reverse = "teacher of" + subject_of_teaching = ( + models.CharField( # TODO: Controlled vocabulary with Work.Subject + max_length=255, + blank=True, + null=True, + verbose_name="subject of teaching", + ) + ) + + +class PersonStudiedWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "studied" + reverse_name = "studied by" + temptriple_name = "studied" + temptriple_name_reverse = "studied by" + + +class PersonTeachesWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "teaches" + reverse_name = "taught by" + temptriple_name = "teaches" + temptriple_name_reverse = "taught by" + + +class PersonUncleMaternalPaternalOfPerson(TibScholRelationMixin): + subj_model = Person + obj_model = Person + name = "uncle (maternal/paternal) of" + reverse_name = "nephew (maternal/paternal) of" + temptriple_name = "uncle (maternal/paternal) of" + temptriple_name_reverse = "nephew (maternal/paternal) of" + + +class WorkTaughtAtPlace(TibScholRelationMixin): + subj_model = Work + obj_model = Place + name = "taught at" + reverse_name = "place of teaching of" + + +class PersonTranslatorOfWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "translator of" + reverse_name = "translated by" + + +class PersonAnnotatorOfWork(TibScholRelationMixin): + subj_model = Person + obj_model = Work + name = "annotator of" + reverse_name = "annotated by" From 4ecb32ccaecc851fc36e59fdfdf04c7fea916c9e Mon Sep 17 00:00:00 2001 From: Gytha Ogg Date: Mon, 22 Apr 2024 09:55:30 +0200 Subject: [PATCH 2/2] Create and import relations --- .../management/commands/import_relations.py | 82 + ...stancecopiedwrittendownatplace_and_more.py | 3782 +++++++++++++++++ apis_ontology/models.py | 2 + 3 files changed, 3866 insertions(+) create mode 100644 apis_ontology/management/commands/import_relations.py create mode 100644 apis_ontology/migrations/0008_instancecopiedwrittendownatplace_and_more.py diff --git a/apis_ontology/management/commands/import_relations.py b/apis_ontology/management/commands/import_relations.py new file mode 100644 index 0000000..27e0c4a --- /dev/null +++ b/apis_ontology/management/commands/import_relations.py @@ -0,0 +1,82 @@ +import logging + +import pandas as pd +from django.apps import apps +from django.core.management.base import BaseCommand +from tqdm.auto import tqdm + +logger = logging.getLogger(__name__) +pd.set_option("display.max_colwidth", None) + +ENTITY_MODELS = ["person", "place", "instance", "work"] + + +class Command(BaseCommand): + """ + Imports data from the old schema into the new schema INCLUDING the primary keys + """ + + import_file = "data/dump_test.json" + + def handle(self, *args, **kwargs): + """ + parses the data dump from the old schema and imports it into the current schema + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + self.df = pd.read_json(self.import_file) + self.df = self.df[self.df.model != "apis_metainfo.uri"] + logger.debug("Columns: %s", self.df.columns) + logger.debug("Number of rows: %d", self.df.shape[0]) + logger.debug("Models: %s", self.df.model.unique()) + + def get_relations_data(model_name): + + entity_rows = self.df[self.df.model == f"apis_ontology.{model_name}"] + logging.debug("Found %d rows of type %s", entity_rows.shape[0], model_name) + other_fields = {} + for _, row in tqdm(entity_rows.iterrows(), total=entity_rows.shape[0]): + # get data from root object + other_object_info = self.df[ + (self.df.pk == row.pk) & (self.df.model != row.model) + ] + for _, extra_fields in other_object_info.iterrows(): + if extra_fields.model.startswith("apis_ontology"): + continue + + other_fields = {**other_fields, **extra_fields.fields} + + field_values = { + "id": row.pk, + **row.fields, + **other_fields, + } + + field_values.pop("self_contenttype") + field_values.pop("collection") + field_values.pop("status") + field_values.pop("source") + field_values.pop("references") + field_values["external_links"] = field_values["external_link"] + field_values.pop("external_link") + + # pprint(field_values) + model_class = apps.get_model(f"apis_ontology.{model_name}") + + model_object = model_class(**field_values) + model_object.save() + + for i, row in self.df.iterrows(): + if not row.model.startswith("apis_ontology"): + continue + + entity_model_names = [f"apis_ontology.{m}" for m in ENTITY_MODELS] + if row.model in entity_model_names: + continue + + field_values = {"id": row.pk, **row.fields} + model_class = apps.get_model(row.model) + model_object = model_class(**field_values) + model_object.save() diff --git a/apis_ontology/migrations/0008_instancecopiedwrittendownatplace_and_more.py b/apis_ontology/migrations/0008_instancecopiedwrittendownatplace_and_more.py new file mode 100644 index 0000000..a843c63 --- /dev/null +++ b/apis_ontology/migrations/0008_instancecopiedwrittendownatplace_and_more.py @@ -0,0 +1,3782 @@ +# Generated by Django 4.2.11 on 2024-04-22 07:31 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("relations", "0001_initial"), + ("apis_ontology", "0007_alter_instance_options"), + ] + + operations = [ + migrations.CreateModel( + name="InstanceCopiedWrittenDownAtPlace", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="InstanceIsCopiedFromInstance", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonActiveAtPlace", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonAddresseeOfWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonAnnotatorOfWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonAuntMaternalPaternalOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonAuthorOfWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonBiographedInWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonBiographerOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonCitesWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonDirectPredecessorInLineageOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ( + "subject_of_teaching", + models.CharField( + blank=True, + max_length=255, + null=True, + verbose_name="subject of teaching", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonDiscipleOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ( + "subject_of_teaching", + models.CharField( + blank=True, + max_length=255, + null=True, + verbose_name="subject of teaching", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonEditorOfInstance", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonFellowMonkOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonFellowStudentOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonHasOtherTypeOfPersonalRelationToPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonIllustratorOfInstance", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonLenderOfInstance", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonOrdinatorOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonOwnerOfInstance", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonParentOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonPatronOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonPromoterOfWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonPrompterOfWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonRefersWithNameToTheViewsOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ( + "subject_of_teaching", + models.CharField( + blank=True, + max_length=255, + null=True, + verbose_name="subject of teaching", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonRefersWithoutNameToTheViewsOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ( + "subject_of_teaching", + models.CharField( + blank=True, + max_length=255, + null=True, + verbose_name="subject of teaching", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonRequestorOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ( + "subject_of_teaching", + models.CharField( + blank=True, + max_length=255, + null=True, + verbose_name="subject of teaching", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonScribeOfInstance", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonSiblingOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonSpiritualFriendOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonSponsorOfInstance", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonStudentOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ( + "subject_of_teaching", + models.CharField( + blank=True, + max_length=255, + null=True, + verbose_name="subject of teaching", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonStudiedWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonTeachesWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonTranslatorOfWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PersonUncleMaternalPaternalOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="PlaceIsLocatedWithinPlace", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkCommentaryOnWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkComposedAtPlace", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkContainsCitationsOfWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkHasAsAnInstanceInstance", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkNamesPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkNamesWork", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkQuotesWithNameTheViewsOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkQuotesWithoutNameTheViewsOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkRecordsTheTeachingOfPerson", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + migrations.CreateModel( + name="WorkTaughtAtPlace", + fields=[ + ( + "relation_ptr", + models.OneToOneField( + auto_created=True, + on_delete=django.db.models.deletion.CASCADE, + parent_link=True, + primary_key=True, + serialize=False, + to="relations.relation", + ), + ), + ("start_date", models.DateField(blank=True, editable=False, null=True)), + ( + "start_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ("end_date", models.DateField(blank=True, editable=False, null=True)), + ( + "end_start_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "end_end_date", + models.DateField(blank=True, editable=False, null=True), + ), + ( + "start_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="Start" + ), + ), + ( + "end_date_written", + models.CharField( + blank=True, max_length=255, null=True, verbose_name="End" + ), + ), + ( + "zotero_refs", + models.TextField(blank=True, null=True, verbose_name="Zotero"), + ), + ( + "tei_refs", + models.TextField(blank=True, null=True, verbose_name="Excerpts"), + ), + ( + "support_notes", + models.TextField( + blank=True, null=True, verbose_name="Support notes" + ), + ), + ( + "confidence", + models.CharField( + blank=True, + choices=[ + ("Positive", "Positive"), + ("Uncertain", "Uncertain"), + ("Negative", "Negative"), + ], + default="Positive", + max_length=1000, + null=True, + verbose_name="Confidence", + ), + ), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + ] diff --git a/apis_ontology/models.py b/apis_ontology/models.py index e2f09d4..ffcee33 100644 --- a/apis_ontology/models.py +++ b/apis_ontology/models.py @@ -238,6 +238,8 @@ class TibScholRelationMixin(Relation, LegacyDateMixin): verbose_name="Confidence", max_length=1000, ) + subj_model = None + obj_model = None @property def subject_type(self):