9 |
9 |
10 from django.db import models |
10 from django.db import models |
11 |
11 |
12 |
12 |
13 class TagYears(models.Model): |
13 class TagYears(models.Model): |
14 |
14 """ |
|
15 Représente une période (début - fin) associée à un Tag. |
|
16 |
|
17 :cvar object tag: Le tag |
|
18 :cvar int start_year: L'année de début de la période. |
|
19 :cvar int end_year: L'année de fin de période. |
|
20 """ |
15 tag = models.OneToOneField(Tag, related_name="years", blank=False, null=False, db_index=True) |
21 tag = models.OneToOneField(Tag, related_name="years", blank=False, null=False, db_index=True) |
16 start_year = models.IntegerField(blank=False, null=False, db_index=True) |
22 start_year = models.IntegerField(blank=False, null=False, db_index=True) |
17 end_year = models.IntegerField(blank=False, null=False, db_index=True) |
23 end_year = models.IntegerField(blank=False, null=False, db_index=True) |
18 |
24 |
19 class Meta: |
25 class Meta: |
20 app_label = 'hdalab' |
26 app_label = 'hdalab' |
21 |
27 |
22 |
28 |
23 class TagLinks(models.Model): |
29 class TagLinks(models.Model): |
24 |
30 """ |
|
31 Représente un lien entre tag. |
|
32 |
|
33 :cvar object subject: Le tag sujet (source) du lien. |
|
34 :cvar object object: Le tag object (cible) du lien. |
|
35 """ |
|
36 |
25 subject = models.ForeignKey(Tag, blank=False, null=False, db_index=True, related_name="taglinks_subjects") |
37 subject = models.ForeignKey(Tag, blank=False, null=False, db_index=True, related_name="taglinks_subjects") |
26 object = models.ForeignKey(Tag, blank=False, null=False, db_index=True, related_name="taglinks_objects") |
38 object = models.ForeignKey(Tag, blank=False, null=False, db_index=True, related_name="taglinks_objects") |
27 |
39 |
28 class Meta: |
40 class Meta: |
29 app_label = 'hdalab' |
41 app_label = 'hdalab' |
30 |
42 |
31 class Country(models.Model): |
43 class Country(models.Model): |
32 |
44 """ |
|
45 Représente un pays. |
|
46 |
|
47 :cvar str dbpedia_uri: L'URI DBPedia de ce pays. |
|
48 """ |
|
49 |
33 dbpedia_uri = models.URLField(max_length=255, blank=False, null=False, db_index=True, unique=True) |
50 dbpedia_uri = models.URLField(max_length=255, blank=False, null=False, db_index=True, unique=True) |
34 |
51 |
35 class Meta: |
52 class Meta: |
36 app_label = 'hdalab' |
53 app_label = 'hdalab' |
37 |
54 |
38 class GeoInclusion(models.Model): |
55 class GeoInclusion(models.Model): |
39 |
56 """ |
|
57 Représente une relation entre un tag et un pays. (par exemple, le tage "Paris" est inclus dans le pays "France") |
|
58 Un tag ne peut être relié qu'a un seul pays. |
|
59 |
|
60 :cvar object tag: le tag. |
|
61 :cvar object country: Le pays. |
|
62 |
|
63 """ |
|
64 |
40 tag = models.OneToOneField(Tag, related_name="locatedin", db_index=True) |
65 tag = models.OneToOneField(Tag, related_name="locatedin", db_index=True) |
41 country = models.ForeignKey(Country, blank=False, null=False, related_name="includes", db_index=True) |
66 country = models.ForeignKey(Country, blank=False, null=False, related_name="includes", db_index=True) |
42 |
67 |
43 class Meta: |
68 class Meta: |
44 app_label = 'hdalab' |
69 app_label = 'hdalab' |
45 |
70 |
46 class DbpediaFields(models.Model): |
71 class DbpediaFields(models.Model): |
|
72 """ |
|
73 Informations DBPedia pour un tag. |
|
74 Un tag ne peut être lié qu'à une seule instance de cette classe. |
|
75 |
|
76 :cvar str dbpedia_uri: L'URI DBPedia. |
|
77 :cvar object tag: Le tag. |
|
78 :cvar str abstract: Texte résumé du tag issu de DBPedia. |
|
79 :cvar str thumbnail: URL d'un thumbnail pour le tag. |
|
80 :cvar str label: Label DBPedia pour le tag. |
|
81 |
|
82 """ |
47 |
83 |
48 dbpedia_uri = models.URLField(max_length=2048, blank=False, null=False, db_index=True, unique=False) |
84 dbpedia_uri = models.URLField(max_length=2048, blank=False, null=False, db_index=True, unique=False) |
49 tag = fields.OneToOneField(Tag, db_index=True, related_name="dbpedia_fields", related_default=lambda instance: None) |
85 tag = fields.OneToOneField(Tag, db_index=True, related_name="dbpedia_fields", related_default=lambda instance: None) |
50 abstract = models.TextField(blank=True, null=True) |
86 abstract = models.TextField(blank=True, null=True) |
51 thumbnail = models.URLField(max_length=2048, blank=True, null=True, db_index=False) |
87 thumbnail = models.URLField(max_length=2048, blank=True, null=True, db_index=False) |
52 label = models.CharField(max_length=2048, unique=False, blank=True, null=True) |
88 label = models.CharField(max_length=2048, unique=False, blank=True, null=True) |
53 |
89 |
54 class Meta: |
90 class Meta: |
55 app_label = 'hdalab' |
91 app_label = 'hdalab' |
56 |
92 |
57 |
93 |
58 class DbpediaFieldsTranslation(models.Model): |
94 class DbpediaFieldsTranslation(models.Model): |
|
95 """ |
|
96 Les traductions pour un :class:DbpediaField. |
|
97 |
|
98 :cvar object master: Le DBPediafield |
|
99 :cvar str language_code: Le code de la langue de la traduction. |
|
100 :cvar str label: Le label traduit. Attention si une traduction du label n'a pas été trouvée, on trouvera là le même label que dans "master". |
|
101 :cvar str abstract: Le résumé traduit. Attention si une traduction du résumé n'a pas été trouvée, on trouvera là le même label que dans "master". |
|
102 :cvar bool is_label_translated: Indique si le label est effectivement traduit. |
|
103 :cvar bool is_abstract_translated: Indicque si le résumé est effectivement traduit. |
|
104 """ |
59 |
105 |
60 master = models.ForeignKey(DbpediaFields, blank=False, null=False, db_index=True, related_name="translations") |
106 master = models.ForeignKey(DbpediaFields, blank=False, null=False, db_index=True, related_name="translations") |
61 language_code = models.CharField(max_length=15, blank=False, null=False, db_index=True) |
107 language_code = models.CharField(max_length=15, blank=False, null=False, db_index=True) |
62 label = models.CharField(max_length=2048, unique=False, blank=True, null=False) |
108 label = models.CharField(max_length=2048, unique=False, blank=True, null=False) |
63 abstract = models.TextField(blank=True, null=True) |
109 abstract = models.TextField(blank=True, null=True) |
67 app_label = 'hdalab' |
113 app_label = 'hdalab' |
68 unique_together = ('master', 'language_code') |
114 unique_together = ('master', 'language_code') |
69 |
115 |
70 |
116 |
71 class HdaSession(models.Model): |
117 class HdaSession(models.Model): |
72 |
118 """ |
|
119 Classe destinée à sauvagarder des session d'exploration sur HDALab (état de l'interface de recherche par facette). |
|
120 Cet objet n'est pas utilisé. |
|
121 """ |
|
122 |
73 sessionid = models.CharField(max_length=36, unique=True, blank=False, null=False, db_index=True) |
123 sessionid = models.CharField(max_length=36, unique=True, blank=False, null=False, db_index=True) |
74 data = models.TextField(blank=True, null=True) |
124 data = models.TextField(blank=True, null=True) |
75 |
125 |
76 class Meta: |
126 class Meta: |
77 app_label = 'hdalab' |
127 app_label = 'hdalab' |
78 |
128 |
79 class InseeCoords(models.Model): |
129 class InseeCoords(models.Model): |
80 |
130 """ |
|
131 Coordonnées géographiques et nom de l'entité pour un code INSEE. |
|
132 |
|
133 :cvar integer insee: code insee. |
|
134 :cvar str city_name: Nom de la commune. |
|
135 :cvar float latitude: Latitude. |
|
136 :cvar float longitude: Longitude. |
|
137 """ |
|
138 |
81 insee = models.IntegerField(primary_key=True) |
139 insee = models.IntegerField(primary_key=True) |
82 city_name = models.CharField(max_length=255, blank=False, null=False) |
140 city_name = models.CharField(max_length=255, blank=False, null=False) |
83 latitude = models.FloatField(blank=False, null=False) |
141 latitude = models.FloatField(blank=False, null=False) |
84 longitude = models.FloatField(blank=False, null=False) |
142 longitude = models.FloatField(blank=False, null=False) |
85 |
143 |
86 class Meta: |
144 class Meta: |
87 app_label = 'hdalab' |
145 app_label = 'hdalab' |
88 |
146 |
89 class DatasheetExtras(models.Model): |
147 class DatasheetExtras(models.Model): |
90 |
148 """ |
|
149 Information supplémentaire pour und fiche hda. |
|
150 |
|
151 :cvar object datasheet: La fiche HDA. |
|
152 :cvar object insee: Les information insee (:class:InseeCoords) pour la fiche. |
|
153 """ |
|
154 |
91 datasheet = models.OneToOneField(Datasheet, related_name="extras", db_index=True) |
155 datasheet = models.OneToOneField(Datasheet, related_name="extras", db_index=True) |
92 insee = models.ForeignKey(InseeCoords, blank=True, null=True, db_index=True) |
156 insee = models.ForeignKey(InseeCoords, blank=True, null=True, db_index=True) |
93 |
157 |
94 class Meta: |
158 class Meta: |
95 app_label = 'hdalab' |
159 app_label = 'hdalab' |