def _owlready_2_rdflib(self, s, p, o): if s.startswith("_"): s = BNode(s) else: s = URIRef(self.triplelite.unabbreviate(s)) p = URIRef(self.triplelite.unabbreviate(p)) if o.startswith("_"): o = BNode(o) elif o.startswith('"'): v, l = o.rsplit('"', 1) if l.startswith("@"): o = Literal(v[1:], lang=l[1:]) elif l == "": o = Literal(v[1:]) else: o = Literal(v[1:], datatype=URIRef(self.triplelite.unabbreviate(l))) else: o = URIRef(self.triplelite.unabbreviate(o)) return s, p, o
def to_rdf_triples(s, p, o, datatype=None, language=None): if s is not None and not isinstance(s, Identifier): if s.startswith("_:"): s = BNode(s) else: s = URIRef(s) if p is not None and not isinstance(p, Identifier): p = URIRef(p) if isinstance(o, basestring): if o.startswith("_:"): o = BNode(o) elif "://" in o or o.startswith("urn:"): o = URIRef(o) else: o = Literal(o, lang=language, datatype=datatype) if o is not None and not isinstance(o, Identifier): o = Literal(o, lang=language, datatype=datatype) return s, p, o