0001_initial.py 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3. from django.db import models, migrations
  4. import jsonfield.fields
  5. import corpus.fields
  6. class Migration(migrations.Migration):
  7. dependencies = [
  8. ]
  9. operations = [
  10. migrations.CreateModel(
  11. name='Entity',
  12. fields=[
  13. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  14. ('key', models.CharField(max_length=256)),
  15. ],
  16. options={
  17. 'ordering': ['kind', 'key'],
  18. 'abstract': False,
  19. },
  20. bases=(models.Model,),
  21. ),
  22. migrations.CreateModel(
  23. name='EntityKind',
  24. fields=[
  25. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  26. ('name', models.CharField(max_length=256, unique=True)),
  27. ],
  28. options={
  29. 'ordering': ['name'],
  30. 'abstract': False,
  31. },
  32. bases=(models.Model,),
  33. ),
  34. migrations.CreateModel(
  35. name='EntityOccurrence',
  36. fields=[
  37. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  38. ('offset', models.IntegerField()),
  39. ('offset_end', models.IntegerField()),
  40. ('alias', models.CharField(max_length=256)),
  41. ],
  42. options={
  43. 'ordering': ['document', 'offset', 'offset_end'],
  44. 'abstract': False,
  45. },
  46. bases=(models.Model,),
  47. ),
  48. migrations.CreateModel(
  49. name='IEDocument',
  50. fields=[
  51. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  52. ('human_identifier', models.CharField(max_length=256, unique=True)),
  53. ('title', models.CharField(max_length=256)),
  54. ('url', models.URLField()),
  55. ('text', models.TextField()),
  56. ('creation_date', models.DateTimeField(auto_now_add=True)),
  57. ('tokens', corpus.fields.ListField()),
  58. ('offsets_to_text', corpus.fields.ListField()),
  59. ('postags', corpus.fields.ListField()),
  60. ('sentences', corpus.fields.ListField()),
  61. ('tokenization_done_at', models.DateTimeField(blank=True, null=True)),
  62. ('sentencer_done_at', models.DateTimeField(blank=True, null=True)),
  63. ('tagging_done_at', models.DateTimeField(blank=True, null=True)),
  64. ('ner_done_at', models.DateTimeField(blank=True, null=True)),
  65. ('segmentation_done_at', models.DateTimeField(blank=True, null=True)),
  66. ('metadata', jsonfield.fields.JSONField(blank=True)),
  67. ],
  68. options={
  69. 'abstract': False,
  70. },
  71. bases=(models.Model,),
  72. ),
  73. migrations.CreateModel(
  74. name='LabeledRelationEvidence',
  75. fields=[
  76. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  77. ('label', models.CharField(default='SK', max_length=2, choices=[('NO', 'No relation present'), ('YE', 'Yes, relation is present'), ('DK', "Don't know if the relation is present"), ('SK', 'Skipped labeling of this evidence'), ('NS', 'Evidence is nonsense')])),
  78. ('date', models.DateTimeField(auto_now_add=True)),
  79. ('judge', models.CharField(max_length=256)),
  80. ('left_entity_occurrence', models.ForeignKey(to='corpus.EntityOccurrence', related_name='left_evidence_relations')),
  81. ],
  82. options={
  83. 'abstract': False,
  84. },
  85. bases=(models.Model,),
  86. ),
  87. migrations.CreateModel(
  88. name='Relation',
  89. fields=[
  90. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  91. ('name', models.CharField(max_length=256)),
  92. ('left_entity_kind', models.ForeignKey(to='corpus.EntityKind', related_name='left_relations')),
  93. ('right_entity_kind', models.ForeignKey(to='corpus.EntityKind', related_name='right_relations')),
  94. ],
  95. options={
  96. 'ordering': ['name', 'left_entity_kind', 'right_entity_kind'],
  97. 'abstract': False,
  98. },
  99. bases=(models.Model,),
  100. ),
  101. migrations.CreateModel(
  102. name='TextSegment',
  103. fields=[
  104. ('id', models.AutoField(auto_created=True, verbose_name='ID', primary_key=True, serialize=False)),
  105. ('offset', models.IntegerField(db_index=True)),
  106. ('offset_end', models.IntegerField(db_index=True)),
  107. ('document', models.ForeignKey(to='corpus.IEDocument', related_name='segments')),
  108. ],
  109. options={
  110. 'ordering': ['document', 'offset', 'offset_end'],
  111. 'abstract': False,
  112. },
  113. bases=(models.Model,),
  114. ),
  115. migrations.AlterUniqueTogether(
  116. name='textsegment',
  117. unique_together=set([('document', 'offset', 'offset_end')]),
  118. ),
  119. migrations.AlterUniqueTogether(
  120. name='relation',
  121. unique_together=set([('name', 'left_entity_kind', 'right_entity_kind')]),
  122. ),
  123. migrations.AddField(
  124. model_name='labeledrelationevidence',
  125. name='relation',
  126. field=models.ForeignKey(to='corpus.Relation', related_name='evidence_relations'),
  127. preserve_default=True,
  128. ),
  129. migrations.AddField(
  130. model_name='labeledrelationevidence',
  131. name='right_entity_occurrence',
  132. field=models.ForeignKey(to='corpus.EntityOccurrence', related_name='right_evidence_relations'),
  133. preserve_default=True,
  134. ),
  135. migrations.AddField(
  136. model_name='labeledrelationevidence',
  137. name='segment',
  138. field=models.ForeignKey(to='corpus.TextSegment'),
  139. preserve_default=True,
  140. ),
  141. migrations.AddField(
  142. model_name='entityoccurrence',
  143. name='document',
  144. field=models.ForeignKey(to='corpus.IEDocument', related_name='entity_occurrences'),
  145. preserve_default=True,
  146. ),
  147. migrations.AddField(
  148. model_name='entityoccurrence',
  149. name='entity',
  150. field=models.ForeignKey(to='corpus.Entity'),
  151. preserve_default=True,
  152. ),
  153. migrations.AddField(
  154. model_name='entityoccurrence',
  155. name='segments',
  156. field=models.ManyToManyField(to='corpus.TextSegment', related_name='entity_occurrences'),
  157. preserve_default=True,
  158. ),
  159. migrations.AlterUniqueTogether(
  160. name='entityoccurrence',
  161. unique_together=set([('entity', 'document', 'offset', 'offset_end')]),
  162. ),
  163. migrations.AddField(
  164. model_name='entity',
  165. name='kind',
  166. field=models.ForeignKey(to='corpus.EntityKind'),
  167. preserve_default=True,
  168. ),
  169. migrations.AlterUniqueTogether(
  170. name='entity',
  171. unique_together=set([('key', 'kind')]),
  172. ),
  173. ]