def addClassToGraph(
            self, class_id, label=None, class_type=None, description=None
    ):
        """
        Any node added to the graph will get at least 3 triples:
        *(node, type, owl:Class) and
        *(node, label, literal(label))
        *if a type is added,
            then the node will be an OWL:subclassOf that the type
        *if a description is provided,
            it will also get added as a dc:description
        :param class_id:
        :param label:
        :param class_type:
        :param description:
        :return:

        """
        assert class_id is not None

        self.graph.addTriple(
            class_id, self.globaltt['type'], self.globaltt['class'])
        if label is not None:
            self.graph.addTriple(
                class_id, self.globaltt['label'], label, object_is_literal=True)

        if class_type is not None:
            self.graph.addTriple(class_id, self.globaltt['subclass_of'], class_type)
        if description is not None:
            self.graph.addTriple(
                class_id, self.globaltt['description'], description,
                object_is_literal=True)
Any node added to the graph will get at least 3 triples:
        *(node, type, owl:Class) and
        *(node, label, literal(label))
        *if a type is added,
            then the node will be an OWL:subclassOf that the type
        *if a description is provided,
            it will also get added as a dc:description
        :param class_id:
        :param label:
        :param class_type:
        :param description:
        :return: