def __init__(self,
                 name: Optional[str] = None,
                 version: Optional[str] = None,
                 description: Optional[str] = None,
                 authors: Optional[str] = None,
                 contact: Optional[str] = None,
                 license: Optional[str] = None,
                 copyright: Optional[str] = None,
                 disclaimer: Optional[str] = None,
                 path: Optional[str] = None,
                 ) -> None:
        """Initialize a BEL graph with its associated metadata.

        :param name: The graph's name
        :param version: The graph's version. Recommended to use `semantic versioning <http://semver.org/>`_ or
         ``YYYYMMDD`` format.
        :param description: A description of the graph
        :param authors: The authors of this graph
        :param contact: The contact email for this graph
        :param license: The license for this graph
        :param copyright: The copyright for this graph
        :param disclaimer: The disclaimer for this graph
        """
        super().__init__()

        self._warnings = []

        self.graph[GRAPH_PYBEL_VERSION] = get_version()
        self.graph[GRAPH_METADATA] = {}

        self.graph[GRAPH_NAMESPACE_URL] = {}
        self.graph[GRAPH_NAMESPACE_PATTERN] = {}
        self.graph[GRAPH_UNCACHED_NAMESPACES] = set()

        self.graph[GRAPH_ANNOTATION_URL] = {}
        self.graph[GRAPH_ANNOTATION_PATTERN] = {}
        self.graph[GRAPH_ANNOTATION_LIST] = defaultdict(set)

        if name:
            self.name = name

        if version:
            self.version = version

        if description:
            self.description = description

        if authors:
            self.authors = authors

        if contact:
            self.contact = contact

        if license:
            self.license = license

        if copyright:
            self.copyright = copyright

        if disclaimer:
            self.disclaimer = disclaimer

        if path:
            self.path = path
def __init__ ( self , name : Optional [ str ] = None , version : Optional [ str ] = None , description : Optional [ str ] = None , authors : Optional [ str ] = None , contact : Optional [ str ] = None , license : Optional [ str ] = None , copyright : Optional [ str ] = None , disclaimer : Optional [ str ] = None , path : Optional [ str ] = None , ) -> None : super ( ) . __init__ ( ) self . _warnings = [ ] self . graph [ GRAPH_PYBEL_VERSION ] = get_version ( ) self . graph [ GRAPH_METADATA ] = { } self . graph [ GRAPH_NAMESPACE_URL ] = { } self . graph [ GRAPH_NAMESPACE_PATTERN ] = { } self . graph [ GRAPH_UNCACHED_NAMESPACES ] = set ( ) self . graph [ GRAPH_ANNOTATION_URL ] = { } self . graph [ GRAPH_ANNOTATION_PATTERN ] = { } self . graph [ GRAPH_ANNOTATION_LIST ] = defaultdict ( set ) if name : self . name = name if version : self . version = version if description : self . description = description if authors : self . authors = authors if contact : self . contact = contact if license : self . license = license if copyright : self . copyright = copyright if disclaimer : self . disclaimer = disclaimer if path : self . path = path
Initialize a BEL graph with its associated metadata.

        :param name: The graph's name
        :param version: The graph's version. Recommended to use `semantic versioning <http://semver.org/>`_ or
         ``YYYYMMDD`` format.
        :param description: A description of the graph
        :param authors: The authors of this graph
        :param contact: The contact email for this graph
        :param license: The license for this graph
        :param copyright: The copyright for this graph
        :param disclaimer: The disclaimer for this graph