|
101
|
1 |
# -*- coding: utf-8 -*- |
|
|
2 |
''' |
|
|
3 |
Created on Jul 31, 2013 |
|
|
4 |
|
|
|
5 |
@author: ymh |
|
|
6 |
''' |
|
|
7 |
from django.db import models |
|
110
|
8 |
from core.models import Thesaurus, Notice, Term |
|
101
|
9 |
|
|
|
10 |
class ContributedTerm(models.Model): |
|
|
11 |
|
|
|
12 |
created_at = models.DateTimeField(auto_now_add=True) |
|
|
13 |
dbpedia_uri = models.URLField(max_length=2048, unique=True, blank=False, null=False, db_index=True) |
|
|
14 |
dbpedia_language = models.CharField(max_length=15, blank=False, null=False, db_index=True) |
|
|
15 |
|
|
|
16 |
class Meta: |
|
|
17 |
app_label = 'jocondelab' |
|
110
|
18 |
|
|
|
19 |
def __unicode__(self): |
|
|
20 |
return self.dbpedia_uri |
|
101
|
21 |
|
|
|
22 |
class ContributedFields(models.Model): |
|
|
23 |
|
|
|
24 |
term = models.ForeignKey(ContributedTerm, blank=False, null=False, db_index=True, related_name="dbpedia_fields") |
|
|
25 |
dbpedia_uri = models.URLField(max_length=2048, blank=False, null=False, db_index=True, unique=False) |
|
|
26 |
language_code = models.CharField(max_length=15, blank=False, null=False, db_index=True) |
|
|
27 |
thumbnail = models.URLField(max_length=2048, blank=True, null=True, db_index=False) |
|
|
28 |
label = models.CharField(max_length=2048, unique=False, blank=True, null=True) |
|
|
29 |
abstract = models.TextField(blank=True, null=True) |
|
|
30 |
|
|
|
31 |
class Meta: |
|
|
32 |
app_label = 'jocondelab' |
|
110
|
33 |
|
|
|
34 |
def __unicode__(self): |
|
|
35 |
return u'"%s"@%s'%(self.label, self.language_code) |
|
101
|
36 |
|
|
|
37 |
class Contribution(models.Model): |
|
|
38 |
|
|
|
39 |
term = models.ForeignKey(ContributedTerm, blank=False, null=False, db_index=True, related_name="contributions") |
|
108
|
40 |
thesaurus = models.ForeignKey(Thesaurus, blank=True, null=True, db_index=True) |
|
101
|
41 |
notice = models.ForeignKey(Notice, blank=False, null=False, db_index=True) |
|
|
42 |
contribution_count = models.IntegerField(blank=False, null=False, default=0, db_index=True, editable=False) |
|
|
43 |
|
|
|
44 |
class Meta: |
|
|
45 |
app_label = 'jocondelab' |
|
110
|
46 |
|
|
|
47 |
def __unicode__(self): |
|
113
|
48 |
return u'%s, %s, %s'%((self.notice.titr or self.notice.deno),self.term.dbpedia_uri,(self.thesaurus.label if self.thesaurus else "Folksonomy")) |
|
110
|
49 |
|
|
|
50 |
class ContributableTerm(models.Model): |
|
|
51 |
|
|
|
52 |
term = models.ForeignKey(Term, blank=False, null=False, db_index=True, unique=True) |
|
|
53 |
|
|
|
54 |
class Meta: |
|
|
55 |
app_label = 'jocondelab' |
|
|
56 |
|
|
|
57 |
def __unicode__(self): |
|
|
58 |
return self.term.label |