Commit 2da1d1be authored by Administrator's avatar Administrator

[FEATURE] NGRAMS adding class to node (design issue).

parent e8d2d581
...@@ -5,28 +5,28 @@ from django.contrib.auth.models import User ...@@ -5,28 +5,28 @@ from django.contrib.auth.models import User
from node.models import Node, Language from node.models import Node, Language
class Ngram(models.Model): #class Ngram(models.Model):
language = models.ForeignKey(Language, blank=True, null=True, on_delete=models.SET_NULL) # language = models.ForeignKey(Language, blank=True, null=True, on_delete=models.SET_NULL)
n = models.IntegerField() # n = models.IntegerField()
terms = models.CharField(max_length=255) # terms = models.CharField(max_length=255)
def __str__(self): # def __str__(self):
return "[%d] %s" % (self.pk, self.terms) # return "[%d] %s" % (self.pk, self.terms)
#
class NodeNgram(models.Model): #class NodeNgram(models.Model):
node = models.ForeignKey(Node) # node = models.ForeignKey(Node)
ngram = models.ForeignKey(Ngram, related_name="nodengram") # ngram = models.ForeignKey(Ngram, related_name="nodengram")
def __str__(self): # def __str__(self):
return "%s: %s" % (self.node.name, self.ngram.terms) # return "%s: %s" % (self.node.name, self.ngram.terms)
#
class NodeNgramNgram(models.Model): #class NodeNgramNgram(models.Model):
node = models.ForeignKey(Node) # node = models.ForeignKey(Node)
#
ngramX = models.ForeignKey(Ngram, related_name="nodengramngramx") # ngramX = models.ForeignKey(Ngram, related_name="nodengramngramx")
ngramY = models.ForeignKey(Ngram, related_name="nodengramngramy") # ngramY = models.ForeignKey(Ngram, related_name="nodengramngramy")
#
score = models.FloatField(default=0) # score = models.FloatField(default=0)
#
def __str__(self): # def __str__(self):
return "%s: %s / %s" % (self.node.name, self.ngramX.terms, self.ngramY.terms) # return "%s: %s / %s" % (self.node.name, self.ngramX.terms, self.ngramY.terms)
#
#
...@@ -33,11 +33,6 @@ class DatabaseType(models.Model): ...@@ -33,11 +33,6 @@ class DatabaseType(models.Model):
def __str__(self): def __str__(self):
return self.name return self.name
#class Ngram(models.Model):
# language = models.ForeignKey(Language, blank=True, null=True, on_delete=models.SET_NULL)
# n = models.IntegerField()
# terms = models.CharField(max_length=255)
class Resource(models.Model): class Resource(models.Model):
user = models.ForeignKey(User) user = models.ForeignKey(User)
guid = models.CharField(max_length=255) guid = models.CharField(max_length=255)
...@@ -74,11 +69,6 @@ class Node(CTENode): ...@@ -74,11 +69,6 @@ class Node(CTENode):
for noeud in Node.objects.filter(user=user): for noeud in Node.objects.filter(user=user):
print(noeud.depth * " " + "[%d] %d" % (noeud.pk, noeud.name)) print(noeud.depth * " " + "[%d] %d" % (noeud.pk, noeud.name))
class Node_Ngram(models.Model):
node = models.ForeignKey(Node, on_delete=models.CASCADE)
ngram = models.ForeignKey(Ngram, on_delete=models.CASCADE)
occurences = models.IntegerField()
class Project(Node): class Project(Node):
class Meta: class Meta:
proxy=True proxy=True
...@@ -99,4 +89,35 @@ class Document(Node): ...@@ -99,4 +89,35 @@ class Document(Node):
class Meta: class Meta:
proxy=True proxy=True
############################
# NGRAMS
############################
class Ngram(models.Model):
language = models.ForeignKey(Language, blank=True, null=True, on_delete=models.SET_NULL)
n = models.IntegerField()
terms = models.CharField(max_length=255)
def __str__(self):
return "[%d] %s" % (self.pk, self.terms)
class Node_Ngram(models.Model):
node = models.ForeignKey(Node, on_delete=models.CASCADE)
ngram = models.ForeignKey(Ngram, on_delete=models.CASCADE)
occurences = models.IntegerField()
def __str__(self):
return "%s: %s" % (self.node.name, self.ngram.terms)
class NodeNgramNgram(models.Model):
node = models.ForeignKey(Node)
ngramX = models.ForeignKey(Ngram, related_name="nodengramngramx", on_delete=models.CASCADE)
ngramY = models.ForeignKey(Ngram, related_name="nodengramngramy", on_delete=models.CASCADE)
score = models.FloatField(default=0)
def __str__(self):
return "%s: %s / %s" % (self.node.name, self.ngramX.terms, self.ngramY.terms)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment