def write_new_edge( self, kw: KgtkWriter, unreifiedw: typing.Optional[KgtkWriter], potential_edge_attributes: typing.List[typing.List[str]], node1_value: str, node2_value: str, edge_id: str, label_column_idx: int, node2_column_idx: int, node1_column_name: str, label_column_name: str, node2_column_name: str, id_column_name: str, ): new_label_value: str = self.new_label_value if self.new_label_value is not None else self.value_label_value kw.writemap({ node1_column_name: node1_value, label_column_name: new_label_value, node2_column_name: node2_value, id_column_name: edge_id, }) self.output_line_count += 1 if unreifiedw is not None: unreifiedw.writemap({ node1_column_name: node1_value, label_column_name: new_label_value, node2_column_name: node2_value, id_column_name: edge_id, }) self.write_edge_attributes( kw, unreifiedw, potential_edge_attributes, edge_id, label_column_idx, node2_column_idx, node1_column_name, label_column_name, node2_column_name, id_column_name, )
def write_new_edge( self, kw: KgtkWriter, unreifiedw: typing.Optional[KgtkWriter], potential_edge_attributes: typing.List[typing.List[str]], edge_id: str, rdf_subject_value: str, rdf_predicate_value: str, rdf_object_value: str, label_column_idx: int, node2_column_idx: int, node1_column_name: str, label_column_name: str, node2_column_name: str, id_column_name: str, ): kw.writemap({ node1_column_name: rdf_subject_value, label_column_name: rdf_predicate_value, node2_column_name: rdf_object_value, id_column_name: edge_id, }) self.output_line_count += 1 if unreifiedw is not None: unreifiedw.writemap({ node1_column_name: rdf_subject_value, label_column_name: rdf_predicate_value, node2_column_name: rdf_object_value, id_column_name: edge_id, }) self.write_edge_attributes( kw, unreifiedw, potential_edge_attributes, edge_id, label_column_idx, node2_column_idx, node1_column_name, label_column_name, node2_column_name, id_column_name, )
def write_edge_attributes( self, kw: KgtkWriter, unreifiedw: typing.Optional[KgtkWriter], potential_edge_attributes: typing.List[typing.List[str]], edge_id: str, label_column_idx: int, node2_column_idx: int, node1_column_name: str, label_column_name: str, node2_column_name: str, id_column_name: str, ): width: int = self.get_width(len(potential_edge_attributes)) attribute_number: int = 0 edge_row: typing.List[str] for edge_row in potential_edge_attributes: attribute_number += 1 attr_edge_id: str = self.make_new_id(edge_id, attribute_number, width) kw.writemap({ node1_column_name: edge_id, label_column_name: edge_row[label_column_idx], node2_column_name: edge_row[node2_column_idx], id_column_name: attr_edge_id }) self.output_line_count += 1 if unreifiedw is not None: unreifiedw.writemap({ node1_column_name: edge_id, label_column_name: edge_row[label_column_idx], node2_column_name: edge_row[node2_column_idx], id_column_name: attr_edge_id })