def visit_slot(self, slot_name: str, slot: SlotDefinition) -> None:
<EOL>slot_uri = self.prop_uri(slot.name)<EOL>if slot.is_a:<EOL><INDENT>self.graph.add((slot_uri, RDFS.subPropertyOf, self.prop_uri(slot.is_a)))<EOL><DEDENT>for mixin in slot.mixins:<EOL><INDENT>self.graph.add((slot_uri, RDFS.subPropertyOf, self.prop_uri(mixin)))<EOL><DEDENT>if not slot.range or slot.range in builtin_names:<EOL><INDENT>self.graph.add((slot_uri, RDF.type,<EOL>OWL.DatatypeProperty if slot.object_property else OWL.AnnotationProperty))<EOL>self.graph.add((slot_uri, RDFS.range, URIRef(builtin_uri(slot.range, expand=True))))<EOL><DEDENT>elif slot.range in self.schema.types:<EOL><INDENT>self.graph.add((slot_uri, RDF.type,<EOL>OWL.DatatypeProperty if slot.object_property else OWL.AnnotationProperty))<EOL>self.graph.add((slot_uri, RDFS.range, self.type_uri(slot.range)))<EOL><DEDENT>else:<EOL><INDENT>self.graph.add((slot_uri, RDF.type, OWL.ObjectProperty if slot.object_property else OWL.AnnotationProperty))<EOL>self.graph.add((slot_uri, RDFS.range, self.class_uri(slot.range)))<EOL><DEDENT>if slot.domain:<EOL><INDENT>self.graph.add((slot_uri, RDFS.domain, self.class_uri(slot.domain)))<EOL><DEDENT>self.graph.add((slot_uri, RDFS.label, Literal(slot.name)))<EOL>if slot.description:<EOL><INDENT>self.graph.add((slot_uri, OBO.IAO_0000115, Literal(slot.description)))<EOL><DEDENT>
Add a slot definition per slot

        @param slot_name:
        @param slot:
        @return: