From 7740f5472b68911d9cb056befa1cd0b1c6d162ba Mon Sep 17 00:00:00 2001 From: Gytha Ogg Date: Mon, 18 Dec 2023 07:53:39 +0100 Subject: [PATCH 1/6] Ontology model for new relations --- ...stancecopiedwrittendownatplace_and_more.py | 3007 +++++++++++++++++ apis_ontology/models.py | 453 +++ 2 files changed, 3460 insertions(+) create mode 100644 apis_ontology/migrations/0033_instancecopiedwrittendownatplace_and_more.py diff --git a/apis_ontology/migrations/0033_instancecopiedwrittendownatplace_and_more.py b/apis_ontology/migrations/0033_instancecopiedwrittendownatplace_and_more.py new file mode 100644 index 0000000..62e8b25 --- /dev/null +++ b/apis_ontology/migrations/0033_instancecopiedwrittendownatplace_and_more.py @@ -0,0 +1,3007 @@ +# Generated by Django 4.1.13 on 2023-12-18 06:38 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ("relations", "0001_initial"), + ("apis_ontology", "0032_alter_zoteroentry_year"), + ] + + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + 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", + ), + ), + ( + "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", + ), + ), + ("start_date", models.DateField(blank=True, null=True)), + ("start_start_date", models.DateField(blank=True, null=True)), + ("start_end_date", models.DateField(blank=True, null=True)), + ("end_date", models.DateField(blank=True, null=True)), + ("end_start_date", models.DateField(blank=True, null=True)), + ("end_end_date", models.DateField(blank=True, 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" + ), + ), + ("notes", models.TextField(blank=True, null=True)), + ], + options={ + "abstract": False, + }, + bases=("relations.relation", models.Model), + ), + ] diff --git a/apis_ontology/models.py b/apis_ontology/models.py index 0d4cb2d..f583148 100644 --- a/apis_ontology/models.py +++ b/apis_ontology/models.py @@ -5,6 +5,7 @@ from apis_core.apis_relations.models import Property, Triple from django.db import models from django.utils.functional import cached_property +from apis_core.relations.models import Relation logger = logging.getLogger(__name__) @@ -202,3 +203,455 @@ class ZoteroEntry(models.Model): year = models.CharField( max_length=255, blank=True, null=True, verbose_name="Year of publication" ) + + +class TibScholRelation(models.Model): + 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, + ) + start_date = models.DateField(blank=True, null=True) + start_start_date = models.DateField(blank=True, null=True) + start_end_date = models.DateField(blank=True, null=True) + end_date = models.DateField(blank=True, null=True) + end_start_date = models.DateField(blank=True, null=True) + end_end_date = models.DateField(blank=True, null=True) + start_date_written = models.CharField( + max_length=255, + blank=True, + null=True, + verbose_name="Start", + ) + end_date_written = models.CharField( + max_length=255, + blank=True, + null=True, + verbose_name="End", + ) + notes = models.TextField(blank=True, null=True) + + temptriple_field_list = [ + "notes", + "start_date", + "start_start_date", + "start_end_date", + "end_date", + "end_start_date", + "end_end_date", + "start_date_written", + "end_date_written", + ] + + class Meta: + abstract = True + + +class PersonActiveAtPlace(Relation, TibScholRelation): + subj_model = Person + obj_model = Place + name = "active at" + name_reverse = "place of activity of" + temptriple_name = "active at" + temptriple_name_reverse = "place of activity of" + + +class PersonAddresseeOfWork(Relation, TibScholRelation): + subj_model = Person + obj_model = Work + name = "addressee of" + name_reverse = "addressed to" + temptriple_name = "addressee of" + temptriple_name_reverse = "addressed to" + + +class PersonAuntMaternalPaternalOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "aunt (maternal/paternal) of" + name_reverse = "nephew (maternal/paternal) of" + temptriple_name = "aunt (maternal/paternal) of" + temptriple_name_reverse = "nephew (maternal/paternal) of" + + +class PersonAuthorOfWork(Relation, TibScholRelation): + subj_model = Person + obj_model = Work + name = "author of" + name_reverse = "composed by" + temptriple_name = "author of" + temptriple_name_reverse = "composed by" + + +class PersonBiographedInWork(Relation, TibScholRelation): + subj_model = Person + obj_model = Work + name = "biographed in" + name_reverse = "biography of" + temptriple_name = "biographed in" + temptriple_name_reverse = "biography of" + + +class PersonBiographerOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "biographer of" + name_reverse = "biographed by" + temptriple_name = "biographer of" + temptriple_name_reverse = "biographed by" + + +class PersonCitesWork(Relation, TibScholRelation): + subj_model = Person + obj_model = Work + name = "cites" + name_reverse = "is cited by" + temptriple_name = "cites" + temptriple_name_reverse = "is cited by" + + +class WorkCommentaryOnWork(Relation, TibScholRelation): + subj_model = Work + obj_model = Work + name = "commentary on" + name_reverse = "has as a commentary" + temptriple_name = "commentary on" + temptriple_name_reverse = "has as a commentary" + + +class WorkComposedAtPlace(Relation, TibScholRelation): + subj_model = Work + obj_model = Place + name = "composed at" + name_reverse = "place of composition for" + temptriple_name = "composed at" + temptriple_name_reverse = "place of composition for" + + +class WorkContainsCitationsOfWork(Relation, TibScholRelation): + subj_model = Work + obj_model = Work + name = "contains citations of" + name_reverse = "is cited in" + temptriple_name = "contains citations of" + temptriple_name_reverse = "is cited in" + + +class InstanceCopiedWrittenDownAtPlace(Relation, TibScholRelation): + subj_model = Instance + obj_model = Place + name = "copied/written down at" + name_reverse = "place of scribing for" + temptriple_name = "copied/written down at" + temptriple_name_reverse = "place of scribing for" + + +class PersonDirectPredecessorInLineageOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "direct predecessor (in lineage) of" + name_reverse = "direct successor (in lineage) of" + temptriple_name = "direct predecessor (in lineage) of" + temptriple_name_reverse = "direct successor (in lineage) of" + + +class PersonDiscipleOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "disciple of" + name_reverse = "spiritual teacher of" + temptriple_name = "disciple of" + temptriple_name_reverse = "spiritual teacher of" + + +class PersonEditorOfInstance(Relation, TibScholRelation): + subj_model = Person + obj_model = Instance + name = "editor of" + name_reverse = "edited by" + temptriple_name = "editor of" + temptriple_name_reverse = "edited by" + + +class PersonFellowMonkOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "fellow monk of" + name_reverse = "fellow monk of" + temptriple_name = "fellow monk of" + temptriple_name_reverse = "fellow monk of" + + +class PersonFellowStudentOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "fellow student of" + name_reverse = "fellow student of" + temptriple_name = "fellow student of" + temptriple_name_reverse = "fellow student of" + + +class WorkHasAsAnInstanceInstance(Relation, TibScholRelation): + subj_model = Work + obj_model = Instance + name = "has as an instance" + name_reverse = "instance of" + temptriple_name = "has as an instance" + temptriple_name_reverse = "instance of" + + +class PersonHasOtherTypeOfPersonalRelationToPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "has other type of personal relation to" + name_reverse = "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(Relation, TibScholRelation): + subj_model = Person + obj_model = Instance + name = "illustrator of" + name_reverse = "illustrated by" + temptriple_name = "illustrator of" + temptriple_name_reverse = "illustrated by" + + +class InstanceIsCopiedFromInstance(Relation, TibScholRelation): + subj_model = Instance + obj_model = Instance + name = "is copied from" + name_reverse = "is source for" + temptriple_name = "is copied from" + temptriple_name_reverse = "is source for" + + +class PlaceIsLocatedWithinPlace(Relation, TibScholRelation): + subj_model = Place + obj_model = Place + name = "is located within" + name_reverse = "contains" + temptriple_name = "is located within" + temptriple_name_reverse = "contains" + + +class PersonLenderOfInstance(Relation, TibScholRelation): + subj_model = Person + obj_model = Instance + name = "lender of" + name_reverse = "lent by" + temptriple_name = "lender of" + temptriple_name_reverse = "lent by" + + +class WorkNamesPerson(Relation, TibScholRelation): + subj_model = Work + obj_model = Person + name = "names" + name_reverse = "is named in" + temptriple_name = "names" + temptriple_name_reverse = "is named in" + + +class WorkNamesWork(Relation, TibScholRelation): + subj_model = Work + obj_model = Work + name = "names" + name_reverse = "is named in" + temptriple_name = "names" + temptriple_name_reverse = "is named in" + + +class PersonOrdinatorOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "ordinator of" + name_reverse = "ordained by" + temptriple_name = "ordinator of" + temptriple_name_reverse = "ordained by" + + +class PersonOwnerOfInstance(Relation, TibScholRelation): + subj_model = Person + obj_model = Instance + name = "owner of" + name_reverse = "owned by" + temptriple_name = "owner of" + temptriple_name_reverse = "owned by" + + +class PersonParentOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "parent of" + name_reverse = "child of" + temptriple_name = "parent of" + temptriple_name_reverse = "child of" + + +class PersonPatronOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "patron of" + name_reverse = "protegee of" + temptriple_name = "patron of" + temptriple_name_reverse = "protegee of" + + +class PersonPromoterOfWork(Relation, TibScholRelation): + subj_model = Person + obj_model = Work + name = "promoter of" + name_reverse = "promoted by" + temptriple_name = "promoter of" + temptriple_name_reverse = "promoted by" + + +class PersonPrompterOfWork(Relation, TibScholRelation): + subj_model = Person + obj_model = Work + name = "prompter of" + name_reverse = "prompted by" + temptriple_name = "prompter of" + temptriple_name_reverse = "prompted by" + + +class WorkQuotesWithNameTheViewsOfPerson(Relation, TibScholRelation): + subj_model = Work + obj_model = Person + name = "quotes (with name) the views of" + name_reverse = "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(Relation, TibScholRelation): + subj_model = Work + obj_model = Person + name = "quotes (without name) the views of" + name_reverse = "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(Relation, TibScholRelation): + subj_model = Work + obj_model = Person + name = "records the teaching of" + name_reverse = "has their teaching recorded in" + temptriple_name = "records the teaching of" + temptriple_name_reverse = "has their teaching recorded in" + + +class PersonRefersWithNameToTheViewsOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "refers (with name) to the views of" + name_reverse = "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" + + +class PersonRefersWithoutNameToTheViewsOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "refers (without name) to the views of" + name_reverse = "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" + + +class PersonRequestorOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "requestor of" + name_reverse = "requested by" + temptriple_name = "requestor of" + temptriple_name_reverse = "requested by" + + +class PersonScribeOfInstance(Relation, TibScholRelation): + subj_model = Person + obj_model = Instance + name = "scribe of" + name_reverse = "copied/written down by" + temptriple_name = "scribe of" + temptriple_name_reverse = "copied/written down by" + + +class PersonSiblingOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "sibling of" + name_reverse = "sibling of" + temptriple_name = "sibling of" + temptriple_name_reverse = "sibling of" + + +class PersonSpiritualFriendOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "spiritual friend of" + name_reverse = "has as spiritual friend" + temptriple_name = "spiritual friend of" + temptriple_name_reverse = "has as spiritual friend" + + +class PersonSponsorOfInstance(Relation, TibScholRelation): + subj_model = Person + obj_model = Instance + name = "sponsor of" + name_reverse = "sponsored by" + temptriple_name = "sponsor of" + temptriple_name_reverse = "sponsored by" + + +class PersonStudentOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "student of" + name_reverse = "teacher of" + temptriple_name = "student of" + temptriple_name_reverse = "teacher of" + + +class PersonStudiedWork(Relation, TibScholRelation): + subj_model = Person + obj_model = Work + name = "studied" + name_reverse = "studied by" + temptriple_name = "studied" + temptriple_name_reverse = "studied by" + + +class PersonTeachesWork(Relation, TibScholRelation): + subj_model = Person + obj_model = Work + name = "teaches" + name_reverse = "taught by" + temptriple_name = "teaches" + temptriple_name_reverse = "taught by" + + +class PersonUncleMaternalPaternalOfPerson(Relation, TibScholRelation): + subj_model = Person + obj_model = Person + name = "uncle (maternal/paternal) of" + name_reverse = "nephew (maternal/paternal) of" + temptriple_name = "uncle (maternal/paternal) of" + temptriple_name_reverse = "nephew (maternal/paternal) of" From 1013ac28b0d037f6206e67088665bd75313d8648 Mon Sep 17 00:00:00 2001 From: Gytha Ogg Date: Mon, 18 Dec 2023 08:28:12 +0100 Subject: [PATCH 2/6] support HTMX --- .../templates/apis_entities/detail_views/detail_generic.html | 2 ++ apis_ontology/templates/apis_entities/edit_generic.html | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apis_ontology/templates/apis_entities/detail_views/detail_generic.html b/apis_ontology/templates/apis_entities/detail_views/detail_generic.html index 69e1b02..453e666 100644 --- a/apis_ontology/templates/apis_entities/detail_views/detail_generic.html +++ b/apis_ontology/templates/apis_entities/detail_views/detail_generic.html @@ -24,6 +24,8 @@ {% endblock scriptHeader %} {% block content %} + +
diff --git a/apis_ontology/templates/apis_entities/edit_generic.html b/apis_ontology/templates/apis_entities/edit_generic.html index 55641b7..d56ff88 100644 --- a/apis_ontology/templates/apis_entities/edit_generic.html +++ b/apis_ontology/templates/apis_entities/edit_generic.html @@ -25,8 +25,9 @@ {% block content %} {% load django_tables2 %} + -{% if instance %} + {% if instance %}
From 4452e01e4fde500a3111e611c996ab718d79eac3 Mon Sep 17 00:00:00 2001 From: Gytha Ogg Date: Fri, 22 Dec 2023 14:06:07 +0100 Subject: [PATCH 3/6] Move HTMX support to script header --- .../templates/apis_entities/detail_views/detail_generic.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apis_ontology/templates/apis_entities/detail_views/detail_generic.html b/apis_ontology/templates/apis_entities/detail_views/detail_generic.html index 453e666..743c438 100644 --- a/apis_ontology/templates/apis_entities/detail_views/detail_generic.html +++ b/apis_ontology/templates/apis_entities/detail_views/detail_generic.html @@ -10,6 +10,8 @@ {% block scriptHeader %} {{ block.super }} + + {% if tei %} -
From 7c271257ebf9675dd9b858ff1568118d758a534a Mon Sep 17 00:00:00 2001 From: Gytha Ogg Date: Sun, 24 Dec 2023 08:03:22 +0100 Subject: [PATCH 4/6] management command to ransfer relations --- .../management/commands/transfer_relations.py | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 apis_ontology/management/commands/transfer_relations.py diff --git a/apis_ontology/management/commands/transfer_relations.py b/apis_ontology/management/commands/transfer_relations.py new file mode 100644 index 0000000..fd604cb --- /dev/null +++ b/apis_ontology/management/commands/transfer_relations.py @@ -0,0 +1,44 @@ +import logging + +from apis_core.apis_relations.models import TempTriple +from django.core.management.base import BaseCommand +from tqdm.auto import tqdm +from django.apps import apps + +logger = logging.getLogger(__name__) + + +class Command(BaseCommand): + def handle(self, *args, **kwargs): + all_triples = TempTriple.objects.all() + for tt in tqdm(all_triples, unit="item"): + obj_model = type(tt.obj).__name__ + subj_model = type(tt.subj).__name__ + prop = ( + tt.prop.name_forward.title() + .replace(" ", "") + .replace("(", "") + .replace(")", "") + .replace("/", "") + .replace(",", "") + ) + new_model_name = f"{subj_model}{prop}{obj_model}" + # print(tt, obj_model, subj_model) + new_model = apps.get_model( + app_label="apis_ontology", model_name=new_model_name + ) + new_rel = new_model.objects.filter(subj=tt.subj, obj=tt.obj).first() + + if new_rel is not None: + continue + + new_rel = new_model(subj=tt.subj, + obj=tt.obj, notes=tt.notes, start_date=tt.start_date, start_start_date=tt.start_start_date,start_end_date=tt.start_end_date,start_date_written=tt.start_date_written,) + + # Save the object to the database + new_rel.save() + + + + + print("Temp triples copied into new relations classes") From 72d81c02d927c726b1140d19fafc8507a9df7bad Mon Sep 17 00:00:00 2001 From: Gytha Ogg Date: Mon, 15 Jan 2024 06:37:46 +0100 Subject: [PATCH 5/6] move htmx import to top --- .../apis_entities/detail_views/detail_generic.html | 2 -- apis_ontology/templates/apis_entities/edit_generic.html | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/apis_ontology/templates/apis_entities/detail_views/detail_generic.html b/apis_ontology/templates/apis_entities/detail_views/detail_generic.html index 743c438..d49000e 100644 --- a/apis_ontology/templates/apis_entities/detail_views/detail_generic.html +++ b/apis_ontology/templates/apis_entities/detail_views/detail_generic.html @@ -11,8 +11,6 @@ {% block scriptHeader %} {{ block.super }} - - {% if tei %} + {% load relations %} {% if highlighter_active %} + {% if instance %}
From eba1e125c2fc4f7afec5117b2be6a76c1ca433af Mon Sep 17 00:00:00 2001 From: Gytha Ogg Date: Mon, 15 Jan 2024 06:38:01 +0100 Subject: [PATCH 6/6] import triples into new relations --- .../management/commands/transfer_relations.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/apis_ontology/management/commands/transfer_relations.py b/apis_ontology/management/commands/transfer_relations.py index fd604cb..80ded6c 100644 --- a/apis_ontology/management/commands/transfer_relations.py +++ b/apis_ontology/management/commands/transfer_relations.py @@ -32,13 +32,17 @@ def handle(self, *args, **kwargs): if new_rel is not None: continue - new_rel = new_model(subj=tt.subj, - obj=tt.obj, notes=tt.notes, start_date=tt.start_date, start_start_date=tt.start_start_date,start_end_date=tt.start_end_date,start_date_written=tt.start_date_written,) + new_rel = new_model( + subj=tt.subj, + obj=tt.obj, + notes=tt.notes, + start_date=tt.start_date, + start_start_date=tt.start_start_date, + start_end_date=tt.start_end_date, + start_date_written=tt.start_date_written, + ) # Save the object to the database new_rel.save() - - - print("Temp triples copied into new relations classes")