Skip to content

Commit

Permalink
getting ready to fix json rep
Browse files Browse the repository at this point in the history
  • Loading branch information
Rik committed Sep 24, 2019
1 parent d57cc16 commit 499e53c
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 21 deletions.
4 changes: 4 additions & 0 deletions pytrips/helpers/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,16 @@ def get_wn_key(k):
if not wn:
log.info("wn not found when trying to lookup " + k)
return None
if not k:
return None
if type(k) is Synset:
return k
if k.startswith("wn::"):
k = k[4:]
while k.count(":") < 4:
k += ":"
if "%" not in k:
return None
try:
res = wn.lemma_from_key(k).synset()
if not res:
Expand Down
51 changes: 30 additions & 21 deletions pytrips/ontology.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,28 @@ def get_nth_label(self, n):
return _string.ascii_uppercase[n]
return self.get_nth_label(n // 26) + self.get_nth_label(n % 26)

def get_label(self, name):
res = get_wn_key(name.split("::")[-1])
if res:
return res.name()
return name.lower()

def escape_label(self, s):
if not s:
return ""
if type(s) is str:
return s
return "w::"+s
if type(s) is Synset:
return s.lemmas()[0].key()#.replace("%", ".")
return "wn::"+s.lemmas()[0].key()#.replace("%", ".")
if type(s) is TripsType:
return s.name
return str(s)
return "ont::"+s.name
return "any::"+str(s)

def node(self, name):
name = self.escape_label(name)
if name in self.nodes:
return
label = self.get_nth_label(len(self.nodes))
label = self.get_label(name)
self.nodes[name] = label

def edge(self, source, target, label=""):
Expand Down Expand Up @@ -85,22 +93,23 @@ def __init__(self, ontology, lexicon):
self._words = ddict(lambda: ddict(set))
self._wordnet_index = ddict(list)
self.__definitions = ddict(list)
for word, entry_list in lexicon["words"].items():
for entry in entry_list:
name = entry["name"].lower()
#cat = entry["cat"].lower()
entries = lexicon["entries"][entry["entry"]]
pos = entries['pos'].lower()
# TODO: incorporate the lexicon
if len(entries['senses']) > 1:
logger.info(entries["name"] + " has " + str(len(entries["senses"])) + " senses")
for values in entries["senses"]:
if "lf_parent" not in values.keys():
c = "no_parent"
else:
c = values["lf_parent"].lower()
self._words[pos][word.lower()].add(c)
revwords[c].add((word+"."+pos).lower())
if lexicon:
for word, entry_list in lexicon["words"].items():
for entry in entry_list:
name = entry["name"].lower()
#cat = entry["cat"].lower()
entries = lexicon["entries"][entry["entry"]]
pos = entries['pos'].lower()
# TODO: incorporate the lexicon
if len(entries['senses']) > 1:
logger.info(entries["name"] + " has " + str(len(entries["senses"])) + " senses")
for values in entries["senses"]:
if "lf_parent" not in values.keys():
c = "no_parent"
else:
c = values["lf_parent"].lower()
self._words[pos][word.lower()].add(c)
revwords[c].add((word+"."+pos).lower())

for s in ontology:
arguments = [TripsRestriction(x["role"],
Expand Down

0 comments on commit 499e53c

Please sign in to comment.