Module nafparserpy.layers.temporal_relations
Expand source code
from dataclasses import dataclass, field
from typing import List
from nafparserpy.layers.utils import AttributeGetter, create_node
from nafparserpy.layers.elements import Span
@dataclass
class TLink:
"""Represents a temporal link"""
id: str
from_idref: str
"""represents the 'from' NAF attribute"""
fromType: str
to: str
toType: str
reTlype: str
def node(self):
"""Create etree node from object"""
attrib = {'id': self.id,
'from': self.from_idref,
'fromType': self.fromType,
'to': self.to,
'toType': self.toType,
'relType': self.relType}
return create_node('tlink', None, [], attrib)
@staticmethod
def object(node):
"""Create object from etree node"""
return TLink(node.get('id'),
node.get('from'),
node.get('fromType'),
node.get('to'),
node.get('toType'),
node.get('relType'))
@dataclass
class PredicateAnchor(AttributeGetter):
spans: List[Span]
attrs: dict = field(default_factory=dict)
"""optional attributes ('id', 'anchorTime', 'beginPoint', 'endPoint')"""
def node(self):
"""Create etree node from object"""
create_node('predicateAnchor', None, self.spans, self.attrs)
@staticmethod
def object(node):
"""Create object from etree node"""
return PredicateAnchor([Span.object(n) for n in node], node.attrib)
@dataclass
class TemporalRelations:
"""Temporal Relations layer class"""
tlinks: List[TLink] = field(default_factory=list)
predicate_anchors: List[PredicateAnchor] = field(default_factory=list)
def node(self):
"""Create etree node from object"""
return create_node('temporalRelations', None, self.tlinks + self.predicate_anchors, {})
@staticmethod
def object(node):
"""Create object from etree node"""
return TemporalRelations([TLink.object(n) for n in node.findall('tlink')],
[PredicateAnchor.object(n) for n in node.findall('predicateAnchor')])
Classes
class PredicateAnchor (spans: List[Span], attrs: dict = <factory>)
-
PredicateAnchor(spans: List[nafparserpy.layers.elements.Span], attrs: dict =
) Expand source code
@dataclass class PredicateAnchor(AttributeGetter): spans: List[Span] attrs: dict = field(default_factory=dict) """optional attributes ('id', 'anchorTime', 'beginPoint', 'endPoint')""" def node(self): """Create etree node from object""" create_node('predicateAnchor', None, self.spans, self.attrs) @staticmethod def object(node): """Create object from etree node""" return PredicateAnchor([Span.object(n) for n in node], node.attrib)
Ancestors
Class variables
var attrs : dict
-
optional attributes ('id', 'anchorTime', 'beginPoint', 'endPoint')
var spans : List[Span]
Static methods
def object(node)
-
Create object from etree node
Expand source code
@staticmethod def object(node): """Create object from etree node""" return PredicateAnchor([Span.object(n) for n in node], node.attrib)
Methods
def node(self)
-
Create etree node from object
Expand source code
def node(self): """Create etree node from object""" create_node('predicateAnchor', None, self.spans, self.attrs)
Inherited members
class TLink (id: str, from_idref: str, fromType: str, to: str, toType: str, reTlype: str)
-
Represents a temporal link
Expand source code
@dataclass class TLink: """Represents a temporal link""" id: str from_idref: str """represents the 'from' NAF attribute""" fromType: str to: str toType: str reTlype: str def node(self): """Create etree node from object""" attrib = {'id': self.id, 'from': self.from_idref, 'fromType': self.fromType, 'to': self.to, 'toType': self.toType, 'relType': self.relType} return create_node('tlink', None, [], attrib) @staticmethod def object(node): """Create object from etree node""" return TLink(node.get('id'), node.get('from'), node.get('fromType'), node.get('to'), node.get('toType'), node.get('relType'))
Class variables
var fromType : str
var from_idref : str
-
represents the 'from' NAF attribute
var id : str
var reTlype : str
var to : str
var toType : str
Static methods
def object(node)
-
Create object from etree node
Expand source code
@staticmethod def object(node): """Create object from etree node""" return TLink(node.get('id'), node.get('from'), node.get('fromType'), node.get('to'), node.get('toType'), node.get('relType'))
Methods
def node(self)
-
Create etree node from object
Expand source code
def node(self): """Create etree node from object""" attrib = {'id': self.id, 'from': self.from_idref, 'fromType': self.fromType, 'to': self.to, 'toType': self.toType, 'relType': self.relType} return create_node('tlink', None, [], attrib)
class TemporalRelations (tlinks: List[TLink] = <factory>, predicate_anchors: List[PredicateAnchor] = <factory>)
-
Temporal Relations layer class
Expand source code
@dataclass class TemporalRelations: """Temporal Relations layer class""" tlinks: List[TLink] = field(default_factory=list) predicate_anchors: List[PredicateAnchor] = field(default_factory=list) def node(self): """Create etree node from object""" return create_node('temporalRelations', None, self.tlinks + self.predicate_anchors, {}) @staticmethod def object(node): """Create object from etree node""" return TemporalRelations([TLink.object(n) for n in node.findall('tlink')], [PredicateAnchor.object(n) for n in node.findall('predicateAnchor')])
Class variables
var predicate_anchors : List[PredicateAnchor]
var tlinks : List[TLink]
Static methods
def object(node)
-
Create object from etree node
Expand source code
@staticmethod def object(node): """Create object from etree node""" return TemporalRelations([TLink.object(n) for n in node.findall('tlink')], [PredicateAnchor.object(n) for n in node.findall('predicateAnchor')])
Methods
def node(self)
-
Create etree node from object
Expand source code
def node(self): """Create etree node from object""" return create_node('temporalRelations', None, self.tlinks + self.predicate_anchors, {})