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]])
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(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(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(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]])