Skip to content

Commit dc54819

Browse files
committed
Only have top level Relation properties on top level relations
1 parent 99fadd6 commit dc54819

File tree

2 files changed

+13
-16
lines changed

2 files changed

+13
-16
lines changed

plasticity/sapien/core.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ def __str__(self):
399399
@classmethod
400400
def from_json(cls, g):
401401
"""Builds a `Graph` from a json object."""
402-
graph = [Relation.from_json(x) for x in g
402+
graph = [Relation.from_json(x, top_level=True) for x in g
403403
if x.get('type') == 'relation']
404404
return cls(graph)
405405

@@ -426,7 +426,8 @@ def __init__(
426426
qualified,
427427
artificial_type,
428428
_features,
429-
confidence):
429+
confidence,
430+
top_level):
430431
self.qualifiers = qualifiers
431432
self.question = question
432433
self.question_auxiliary = question_auxiliary
@@ -437,17 +438,12 @@ def __init__(
437438
self.verb_modifiers_object_suffix = verb_modifiers_object_suffix
438439
self.prepositions = prepositions
439440
self.qualified_object = qualified_object
440-
if inferred is not None:
441+
if top_level:
441442
self.inferred = inferred
442-
if nested is not None:
443443
self.nested = nested
444-
if qualified is not None:
445444
self.qualified = qualified
446-
if artificial_type is not None:
447445
self.artificial_type = artificial_type
448-
if _features is not None:
449446
self._features = _features
450-
if confidence is not None:
451447
self.confidence = confidence
452448

453449
def __repr__(self):
@@ -493,7 +489,7 @@ def __str__(self):
493489
return output
494490

495491
@classmethod
496-
def from_json(cls, r):
492+
def from_json(cls, r, top_level=False):
497493
"""Builds a `Relation` from a json object."""
498494
qualifiers = r.get('qualifiers')
499495
question = r.get('question')
@@ -517,12 +513,12 @@ def from_json(cls, r):
517513
Entity.from_json(
518514
r['qualified_object']) if type_ == 'entity' else Relation.from_json( # noqa
519515
r['qualified_object']) if type_ == 'relation' else None)
520-
inferred = r.get('inferred', None)
521-
nested = r.get('nested', None)
522-
qualified = r.get('qualified', None)
516+
inferred = r.get('inferred', False)
517+
nested = r.get('nested', False)
518+
qualified = r.get('qualified', False)
523519
artificial_type = r.get('artificialType', None)
524-
_features = r.get('_features', None)
525-
confidence = r.get('confidence', None)
520+
_features = r.get('_features', [])
521+
confidence = r.get('confidence', 1.0)
526522
return cls(
527523
qualifiers,
528524
question,
@@ -539,7 +535,8 @@ def from_json(cls, r):
539535
qualified,
540536
artificial_type,
541537
_features,
542-
confidence)
538+
confidence,
539+
top_level)
543540

544541
def get_entities(self, ner_only=False):
545542
"""Gets the entities of a `Relation`.

plasticity/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
__version_info__ = ('0', '0', '14')
1+
__version_info__ = ('0', '0', '15')
22
__version__ = '.'.join(__version_info__)

0 commit comments

Comments
 (0)