src/hdalab/models/dataviz.py
branchdocumentation
changeset 693 09e00f38d177
parent 614 40e125004a0b
equal deleted inserted replaced
692:b7d19cd87fcf 693:09e00f38d177
     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'