def __init__(self, graph, uri=None, bnode=False, rdf_type=None, **kwargs):
    'Initializes and adds a node to the graph.\n\n        NOTE: At least the type or a property must be supplied for the Node\n        to exist in the graph.\n\n        Args:\n            graph: The graph to add this node to. (instance of rdflib.Graph)\n            uri: Optional string to set th URI to. (If not provided a UUID will be generated.)\n            bnode: Whether to create a blank node or a uri reference.\n            rdf_type: The RDF type to set this node to.\n            properties: Extra properties to add to this node.\n            (More properties can be set after initialization by using the add() function.)\n        '
    super(Node, self).__init__()
    if uri:
        self.uri = uri
    else:
        self.uri = str(uuid.uuid4())
    if bnode:
        self._node = rdflib.BNode(self.uri)
    else:
        self._node = rdflib.URIRef(self.uri)
    self._graph = graph
    if (not rdf_type):
        rdf_type = self.RDF_TYPE
    if (not isinstance(rdf_type, rdflib.term.Node)):
        rdf_type = self.NAMESPACE[rdf_type]
    self.add(RDF.type, rdf_type)
    for (key, value) in iter(kwargs.items()):
        self.add(key, value)
Initializes and adds a node to the graph.

NOTE: At least the type or a property must be supplied for the Node
to exist in the graph.

Args:
    graph: The graph to add this node to. (instance of rdflib.Graph)
    uri: Optional string to set th URI to. (If not provided a UUID will be generated.)
    bnode: Whether to create a blank node or a uri reference.
    rdf_type: The RDF type to set this node to.
    properties: Extra properties to add to this node.
    (More properties can be set after initialization by using the add() function.)
def __init__(self, graph, uri=None, bnode=False, rdf_type=None, **kwargs):
    'Initializes and adds a node to the graph.\n\n        NOTE: At least the type or a property must be supplied for the Node\n        to exist in the graph.\n\n        Args:\n            graph: The graph to add this node to. (instance of rdflib.Graph)\n            uri: Optional string to set th URI to. (If not provided a UUID will be generated.)\n            bnode: Whether to create a blank node or a uri reference.\n            rdf_type: The RDF type to set this node to.\n            properties: Extra properties to add to this node.\n            (More properties can be set after initialization by using the add() function.)\n        '
    super(Node, self).__init__()
    if uri:
        self.uri = uri
    else:
        self.uri = str(uuid.uuid4())
    if bnode:
        self._node = rdflib.BNode(self.uri)
    else:
        self._node = rdflib.URIRef(self.uri)
    self._graph = graph
    if (not rdf_type):
        rdf_type = self.RDF_TYPE
    if (not isinstance(rdf_type, rdflib.term.Node)):
        rdf_type = self.NAMESPACE[rdf_type]
    self.add(RDF.type, rdf_type)
    for (key, value) in iter(kwargs.items()):
        self.add(key, value)