|
1 | | -__all__ = ["Collection", "StandardCollection"] |
| 1 | +__all__ = [ |
| 2 | + "Collection", |
| 3 | + "EdgeCollection", |
| 4 | + "StandardCollection", |
| 5 | + "VertexCollection", |
| 6 | +] |
2 | 7 |
|
3 | 8 |
|
4 | 9 | from typing import Any, Generic, List, Optional, Sequence, Tuple, TypeVar, cast |
@@ -1711,3 +1716,73 @@ def response_handler( |
1711 | 1716 | return self.deserializer.loads_many(resp.raw_body) |
1712 | 1717 |
|
1713 | 1718 | return await self._executor.execute(request, response_handler) |
| 1719 | + |
| 1720 | + |
| 1721 | +class VertexCollection(Collection[T, U, V]): |
| 1722 | + """Vertex collection API wrapper. |
| 1723 | +
|
| 1724 | + Args: |
| 1725 | + executor (ApiExecutor): API executor. |
| 1726 | + name (str): Collection name |
| 1727 | + graph (str): Graph name. |
| 1728 | + doc_serializer (Serializer): Document serializer. |
| 1729 | + doc_deserializer (Deserializer): Document deserializer. |
| 1730 | + """ |
| 1731 | + |
| 1732 | + def __init__( |
| 1733 | + self, |
| 1734 | + executor: ApiExecutor, |
| 1735 | + graph: str, |
| 1736 | + name: str, |
| 1737 | + doc_serializer: Serializer[T], |
| 1738 | + doc_deserializer: Deserializer[U, V], |
| 1739 | + ) -> None: |
| 1740 | + super().__init__(executor, name, doc_serializer, doc_deserializer) |
| 1741 | + self._graph = graph |
| 1742 | + |
| 1743 | + def __repr__(self) -> str: |
| 1744 | + return f"<VertexCollection {self.name}>" |
| 1745 | + |
| 1746 | + @property |
| 1747 | + def graph(self) -> str: |
| 1748 | + """Return the graph name. |
| 1749 | +
|
| 1750 | + Returns: |
| 1751 | + str: Graph name. |
| 1752 | + """ |
| 1753 | + return self._graph |
| 1754 | + |
| 1755 | + |
| 1756 | +class EdgeCollection(Collection[T, U, V]): |
| 1757 | + """Edge collection API wrapper. |
| 1758 | +
|
| 1759 | + Args: |
| 1760 | + executor (ApiExecutor): API executor. |
| 1761 | + name (str): Collection name |
| 1762 | + graph (str): Graph name. |
| 1763 | + doc_serializer (Serializer): Document serializer. |
| 1764 | + doc_deserializer (Deserializer): Document deserializer. |
| 1765 | + """ |
| 1766 | + |
| 1767 | + def __init__( |
| 1768 | + self, |
| 1769 | + executor: ApiExecutor, |
| 1770 | + graph: str, |
| 1771 | + name: str, |
| 1772 | + doc_serializer: Serializer[T], |
| 1773 | + doc_deserializer: Deserializer[U, V], |
| 1774 | + ) -> None: |
| 1775 | + super().__init__(executor, name, doc_serializer, doc_deserializer) |
| 1776 | + self._graph = graph |
| 1777 | + |
| 1778 | + def __repr__(self) -> str: |
| 1779 | + return f"<EdgeCollection {self.name}>" |
| 1780 | + |
| 1781 | + @property |
| 1782 | + def graph(self) -> str: |
| 1783 | + """Return the graph name. |
| 1784 | +
|
| 1785 | + Returns: |
| 1786 | + str: Graph name. |
| 1787 | + """ |
| 1788 | + return self._graph |
0 commit comments