예제 #1
0
    def get_uri_label(self, string):
        """Labelize a string

        Try to extract a label from an URI
        Parameters
        ----------
        uri : string
            Term to extract label from

        Returns
        -------
        String
            Label
        """

        if Utils.is_valid_url(string):
            string = string.rstrip("/")
            if "/" in string:
                end_term = string.split("/")[-1].rstrip("#")
                if "#" in end_term:
                    end_term = end_term.split("#")[-1]
            else:
                end_term = string
        elif ":" in string and len(string.split(":")) == 2:
            end_term = string.split(":")[-1]
        else:
            end_term = string
        return end_term
예제 #2
0
    def rdfize(self, string, custom_namespace=None):
        """Rdfize a string

        Return the literal if string is an url, else,
        prefix it with askomics prefix

        Parameters
        ----------
        string : string
            Term to rdfize

        Returns
        -------
        rdflib.???
            Rdfized term
        """
        if Utils.is_valid_url(string):
            return rdflib.URIRef(string)
        elif ":" in string and len(string.split(":")) == 2:
            prefix, val = string.split(":")
            if prefix:
                prefix_manager = PrefixManager(self.app, self.session)
                namespace = prefix_manager.get_namespace(prefix)
                if namespace:
                    return rdflib.URIRef("{}{}".format(namespace, val))
            else:
                # If not prefix, default to entity prefix
                string = val
        if custom_namespace:
            return custom_namespace[self.format_uri(string)]
        else:
            return self.namespace_data[self.format_uri(string)]
예제 #3
0
    def rdfize(self, string):
        """Rdfize a string

        Return the literal is string is an url, else,
        prefix it with askomics prefix

        Parameters
        ----------
        string : string
            Term to rdfize

        Returns
        -------
        rdflib.???
            Rdfized term
        """
        if Utils.is_valid_url(string):
            return rdflib.URIRef(string)
        else:
            return self.askomics_prefix[self.format_uri(string)]