コード例 #1
0
 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
コード例 #2
0
ファイル: utils.py プロジェクト: ashkop/r2dto_rdf
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
コード例 #3
0
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