Exemple #1
0
def normalizeUri(rdfTerm,revNsMap):
    """
    Takes an RDF Term and 'normalizes' it into a QName (using the registered prefix)
    or (unlike compute_qname) the Notation 3 form for URIs: <...URI...>
    """
    try:
        namespace, name = split_uri(rdfTerm)
        namespace = URIRef(namespace)
    except:
        if isinstance(rdfTerm,Variable):
            return "?%s"%rdfTerm
        else:
            try:
                qNameParts = compute_qname(rdfTerm,revNsMap)
                return ':'.join([qNameParts[0],qNameParts[-1]])
            except:
                for ns in revNsMap:
                    if rdfTerm.find(ns)+1:
                        return ':'.join([revNsMap[ns],rdfTerm.split(ns)[-1]])
                return "<%s>"%rdfTerm
    prefix = revNsMap.get(namespace)
    if prefix is None and isinstance(rdfTerm,Variable):
        return "?%s"%rdfTerm
    else:
        qNameParts = compute_qname(rdfTerm,revNsMap)
        return ':'.join([qNameParts[0],qNameParts[-1]])
Exemple #2
0
def compute_qname(uri, revNsMap):
    namespace, name = split_uri(uri)
    namespace = URIRef(namespace)
    prefix = revNsMap.get(namespace)
    if prefix is None:
        prefix = "_%s" % len(revNsMap)
        revNsMap[namespace] = prefix
    return (prefix, namespace, name)
Exemple #3
0
def compute_qname(uri,revNsMap):
    namespace, name = split_uri(uri)
    namespace = URIRef(namespace)
    prefix = revNsMap.get(namespace)
    if prefix is None:
        prefix = "_%s" % len(revNsMap)
        revNsMap[namespace]=prefix
    return (prefix, namespace, name)
 def compute_qname(self, uri):
     if not uri in self.__cache:
         namespace, name = split_uri(uri)
         namespace = URIRef(namespace)
         prefix = self.store.prefix(namespace)
         if prefix is None:
             prefix = "_%s" % len(list(self.store.namespaces()))
             self.bind(prefix, namespace)
         self.__cache[uri] = (prefix, namespace, name)
     return self.__cache[uri]
 def compute_qname(self, uri):
     if not uri in self.__cache:
         namespace, name = split_uri(uri)
         namespace = URIRef(namespace)
         prefix = self.store.prefix(namespace)
         if prefix is None:
             prefix = "_%s" % len(list(self.store.namespaces()))
             self.bind(prefix, namespace)
         self.__cache[uri] = (prefix, namespace, name)
     return self.__cache[uri]
Exemple #6
0
 def compute(self, uri):
     if not uri in self.__cache:
         namespace, name = split_uri(uri)
         prefix = self.__prefix.get(namespace, None)
         if prefix is None:
             prefix = "_%s" % len(self.__namespace)
             self.set_prefix(prefix, namespace)
         if prefix == "":
             self.__cache[uri] = name
         else:
             self.__cache[uri] = ":".join((prefix, name))
Exemple #7
0
 def compute(self, uri):
     if not uri in self.__cache:
         namespace, name = split_uri(uri)
         prefix = self.__prefix.get(namespace, None)
         if prefix is None:
             prefix = "_%s" % len(self.__namespace)
             self.set_prefix(prefix, namespace)
         if prefix=="":
             self.__cache[uri] = name
         else:
             self.__cache[uri] = ":".join((prefix, name))
 def compute_qname(self, uri):
     if not uri in self.__cache:
         namespace, name = split_uri(uri)
         namespace = URIRef(namespace)
         prefix = self.store.prefix(namespace)
         if prefix is None:
             num = 1
             while 1:
                 prefix = "ns%s" % num
                 if not self.store.namespace(prefix):
                     break
                 num = num + 1
             self.bind(prefix, namespace)
         self.__cache[uri] = (prefix, namespace, name)
     return self.__cache[uri]
 def normalizeUri(self, rdfTerm):
     """
     Takes an RDF Term and 'normalizes' it into a QName (using the registered prefix)
     or (unlike compute_qname) the Notation 3 form for URIs: <...URI...> 
     """
     try:
         namespace, name = split_uri(rdfTerm)
         namespace = URIRef(namespace)
     except:
         if isinstance(rdfTerm, Variable):
             return "?%s" % rdfTerm
         else:
             return "<%s>" % rdfTerm
     prefix = self.store.prefix(namespace)
     if prefix is None and isinstance(rdfTerm, Variable):
         return "?%s" % rdfTerm
     elif prefix is None:
         return "<%s>" % rdfTerm
     else:
         qNameParts = self.compute_qname(rdfTerm)
         return ":".join([qNameParts[0], qNameParts[-1]])
 def normalizeUri(self, rdfTerm):
     """
     Takes an RDF Term and 'normalizes' it into a QName (using the registered prefix)
     or (unlike compute_qname) the Notation 3 form for URIs: <...URI...> 
     """
     try:
         namespace, name = split_uri(rdfTerm)
         namespace = URIRef(namespace)
     except:
         if isinstance(rdfTerm, Variable):
             return "?%s" % rdfTerm
         else:
             return "<%s>" % rdfTerm
     prefix = self.store.prefix(namespace)
     if prefix is None and isinstance(rdfTerm, Variable):
         return "?%s" % rdfTerm
     elif prefix is None:
         return "<%s>" % rdfTerm
     else:
         qNameParts = self.compute_qname(rdfTerm)
         return ':'.join([qNameParts[0], qNameParts[-1]])