Skip to content

Documentation — models.py

revoltMoon edited this page Dec 1, 2018 · 9 revisions

class DocumentHeader

  • Базовый класс для подкласса Header.

  • Экземпляр хранит данные о документе, например, решение суда.

convert_from_dict

  • Преобразование словаря в экземпляр подкласса класса DocumentHeader

Объявление

  • def convert_from_dict(key: str, oldFormatHeader: dict)

Параметры

  1. key - ключ, связанный с oldFormatHeader;
  2. oldFormatHeader - Словарь, который хранит данные о документе.

Возвращает

Header.convert_from_dict(key, oldFormatHeader) Экземпляр Header.


class Header(DocumentHeader)

  • Осуществляет хранение данных о документе, идентификатор которого уникален.

convert_to_dict

  • Преобразование экземпляра в словарь, который сохраняет все значения атрибутов экземпляра.

Объявление

  • def convert_to_dict(self)

Параметры

  1. self — представление класса.

Возвращает

dictFormatHeader:Dict[str, str] - словарь, содержаний значения атрибутов экземпляра.

convert_from_dict

  • Преобразование словаря в экземпляр собственного класса.
  • Вызывается из суперкласса методом iterface с тем же именем.

Объявление

  • def convert_from_dict(key: str, oldFormatHeader: dict)

Параметры

  1. key - ключ, связанный с oldFormatHeader;
  2. oldFormatHeader - Словарь, который хранит данные о документе.

Возвращает

Header(docID, supertype, docType, title, releaseDate, textSourceUrl) — экземпляр собственного класса


class Link

  • Класс связей.

init

  • Инициализация класса связей.

Объявление

  • def __init__(self, headerFrom: Header)

Параметры

  1. self — представление класса;
  2. headerFrom — наследник класса Header.

class Positions

  • Класс, описывающий различные позиции элементов в тексте.

init

  • Инициализация класса связей.

Объявление

  • def __init__(self, contextStartPos: int, contextEndPos: int, linkStartPos: int, linkEndPos: int)

Параметры

  1. self — представление класса;
  2. contextStartPos — стартовая позиция контекста;
  3. contextEndPos — конечная позиция контекста;
  4. linkStartPos — стартовая позиция ссылки;
  5. linkEndPos — конечная позиция ссылки.

class RoughLink(Link)

  • Класс, описывающий грубые ссылки.

init

  • Инициализация класса грубых ссылок.

Объявление

  • def __init__(self, headerFrom: Header, body: str, positions: Positions)

Параметры

  1. self — представление класса;
  2. headerFrom — наследник класса Header;
  3. body — тело грубой ссылки.
  4. positions — наследник класса Ppsitions.

class CleanLink(Link)

  • Класс, описывающий чистовые ссылки.

init

  • Инициализация класса чистовых ссылок.

Объявление

  • def __init__(self, headerFrom: Header, headerTo: Header, citationsNumber: int, positionsList: Union[Positions, List[Positions]])

Параметры

  1. self — представление класса;
  2. headerFrom — наследник класса Header;
  3. headerTo — наследник класса Header, куда передаем сам заголовок.
  4. citationsNumber — количество цитат.
  5. positionsList — список позиций ссылок.

append

  • Добавляем позицию чистой ссылки в positions_list.

Объявление

  • def append(self, positionAndContext: Positions)

Параметры

  1. self — представление класса;
  2. positionAndContext — наследник класса Positions.

convert_to_dict

  • Конвертируем список с позициями в словарь.

Объявление

  • def convert_to_dict(self)

Параметры

  1. self - представление класса.

Возвращает

  1. Dict[str, str] — словарь с чистыми ссылками.

class HeadersFilter

  • Класс, описывающий фильтрацию заголовков.

init

  • Инициализация класса чистовых ссылок.

Объявление

  • def __init__(self, supertypes: Optional[Iterable[str]], docTypes: Optional[Iterable[str]], firstDate: Optional[datetime.date], lastDate: Optional[datetime.date])

Параметры

  1. self — представление класса;
  2. supertypes — супертип;
  3. docTypes — тип документа;
  4. firstDate — начальная дата для фильтра;
  5. lastDate — конечная дата для фильтра.

check_header(self, header)

  • Проверяет заголовок на соответствие типу данных.

Объявление

  • def check_header(self, header: Header)

Параметры

  1. self - представление класса;
  2. header - тип данных заголовка.

Возвращает

  1. True, если тип данных корректный, либо None, иначе False

get_filtered_headers

  • Фильтрация словаря заголовков

Объявление

  • def get_filtered_headers(self, headersDict: Dict[str, Header])

Параметры

  1. self — представление класса;
  2. headersDict — словарь заголовков.

Возвращает

  1. resultDict - отфильтрованный словарь заголовков

class GraphNodesFilter(HeadersFilter)

  • Класс, описывающий фильтрацию нодов графа.

init

  • Инициализация класса фильтра нодов графа.

Объявление

  • def __init__(self, supertypes: Optional[Iterable[str]], docTypes: Optional[Iterable[str]], firstDate: Optional[datetime.date], lastDate: Optional[datetime.date], indegreeRange: Union[Tuple[int], List[int], None], outdegreeRange: Union[Tuple[int], List[int], None])

Параметры

  1. self — представление класса;
  2. supertypes — супертип;
  3. docTypes — тип документа;
  4. firstDate — начальная дата для фильтра;
  5. lastDate — конечная дата для фильтра;
  6. indegreeRange — внутренний диапазон фильтра;
  7. outdegreeRange — внешний диапозон фильтра.

class GraphEdgesFilter

  • Класс, описывающий фильтрацию ребер графа.

init

  • Инициализация класса фильтра ребер графа.

Объявление

  • def __init__(self, headersFilterFrom: Header, headersFilterTo: Header, weightsRange: Union[Tuple[int], List[int], None])

Параметры

  1. self — представление класса;
  2. headersFilterFrom — класс Header, от которого получаем заголовок, по умолчанию None;
  3. headersFilterTo — класс Header, которому передаем заголовок, по умолчанию None;
  4. weightsRange — диапазон весов, по умолчанию None.

check_edge

  • Проверка ребра на соответствие.

Объявление

  • def check_edge (self, edge: CleanLink)

Параметры

  1. self — представление класса;
  2. edge — представление класса CleanLink.

Возвращает

  1. True, если ребро действительно существует, иначе False.

get_filtered_edges

  • Получаем отфильтрованные ребра.

Объявление

  • def get_filtered_edges (self, edges: CleanLink)

Параметры

  1. self — представление класса;
  2. edges — представление класса CleanLink.

Возвращает

  1. Set[CleanLink] — представление класса CleanLink.

class LinkGraph

  • Класс, описывающий граф ссылок.

add_node

  • Добавляем нод для графа.

Объявление

  • def add_node(self, node: Header)

Параметры

  1. self — представление класса;
  2. node — представление класса Header.

add_edge

  • Добавляем ребро для графа.

Объявление

  • def add_edge(self, edge: CleanLink)

Параметры

  1. self — представление класса;
  2. edge — представление класса CleanLink.

get_all_nodes_degrees

  • Получаем степени для всех нодов.

Объявление

  • def get_all_nodes_degrees(self)

Параметры

  1. self — представление класса.

Возвращает

  1. Tuple[Dict[Header, int], Dict[Header, int]] — степени нодов графа (indegree, outdegree).

get_subgraph

  • Получаем некоторый подграф данного графа.

Объявление

  • def get_subgraph(self, nodesFilter: Optional[GraphNodesFilter], edgesFilter: Optional[GraphEdgesFilter], includeIsolatedNodes: bool)

Параметры

  1. self — представление класса.
  2. nodesFilter — представление класса GraphNodesFilter, по умолчанию = None;
  3. edgesFilter — представление класса GraphEdgesFilter, по умолчанию = None;
  4. includeIsolatedNodes — включать ли изолированные ноды, по умолчанию = True.

get_nodes_as_IDs_list

  • Получаем ноды в виде списка.

Объявление

  • def get_nodes_as_IDs_list(self)

Параметры

  1. self — представление класса.

Возвращает

  1. List[str] — ноды в виде списка.

get_edges_as_list_of_tuples

  • Получаем ноды в виде списка кортежей.

Объявление

  • def get_edges_as_list_of_tuples(self)

Параметры

  1. self — представление класса.

Возвращает

  1. List[Tuple[str, str, int]] — ноды в виде списка кортежей.
Clone this wiki locally