converts the class to a json compatable python dictionary

        Args:
            uri_format('sparql_uri','pyuri'): The format that uri values will
                    be returned

        Returns:
            dict: a json compatabile python dictionary

def conv_json(self, uri_format="sparql_uri", add_ids=False):
        """ converts the class to a json compatable python dictionary

        Args:
            uri_format('sparql_uri','pyuri'): The format that uri values will
                    be returned

        Returns:
            dict: a json compatabile python dictionary
        """
        def convert_item(ivalue):
            """ converts an idividual value to a json value

            Args:
                ivalue: value of the item to convert

            Returns:
                JSON serializable value
            """
            nvalue = ivalue
            if isinstance(ivalue, BaseRdfDataType):
                if ivalue.type == 'uri':
                    if ivalue.startswith("pyuri") and uri_format == "pyuri":
                        nvalue = getattr(ivalue, "sparql")
                    else:
                        nvalue = getattr(ivalue, uri_format)
                else:
                    nvalue = ivalue.to_json
            elif isinstance(ivalue, RdfClassBase):
                if ivalue.subject.type == "uri":
                    nvalue = ivalue.conv_json(uri_format, add_ids)
                elif ivalue.subject.type == "bnode":
                    nvalue = ivalue.conv_json(uri_format, add_ids)
            elif isinstance(ivalue, list):
                nvalue = []
                for item in ivalue:
                    temp = convert_item(item)
                    nvalue.append(temp)
            return nvalue

        rtn_val = {key: convert_item(value) for key, value in self.items()}
        #pdb.set_trace()
        if add_ids:

            if self.subject.type == 'uri':
                rtn_val['uri'] = self.subject.sparql_uri
                rtn_val['id'] = sha1(rtn_val['uri'].encode()).hexdigest()
        #return {key: convert_item(value) for key, value in self.items()}
        return rtn_val