Forgot the "reply-all"; sorry.

---------- Forwarded message ----------
From: Niklas Lindström <[EMAIL PROTECTED]>
Date: Jun 13, 2007 9:08 PM
Subject: Re: [rdflib-dev] n3 serialize
To: Jon Crump <[EMAIL PROTECTED]>


Hi Jon!

You need to turn the subject and predicate of the added tuple into
URIRef:s; thus:

        store.add((URIRef(ENTRY + s), URIRef(JO + p.replace(' ',
'_')), Literal(o)))

will work. Furher I suggest that ENTRY and JO are Namespace instances; thus:

    ENTRY = Namespace("tag:entry/")
    JO = Namespace("tag:jo#")

, and then doing:

        store.add((ENTRY[s], JO[p.replace(' ', '_')], Literal(o)))

does the trick.


This isn't obvious though, and has bitten me a couple of times. I
believe there used to be type-checking to prevent (or alleviate) this?
I suggest we consider having ``.add`` always turning subjects and
predicates into URIRef:s. And objects should further be asserted
``isinstance(object, Identifier)``.

Is there the theoretical possibility of having Literal:s in these
places (though seemingly unsound)? I hope not; but were it so, and
that would be a case against this, a counter-case would be e.g. an
optional ``autotype`` keyword param, defaulting to True.

Best regards,
Niklas Lindström



On 6/13/07, Jon Crump <[EMAIL PROTECTED]> wrote:
> I hope you will forgive a question from a naive user. I've been
> experimenting with rdflib and have succeeded in building a ConjuctiveGraph
> thus:
>
> for x in dlol:
>      for (s, p, o) in x:
>          if p == "Date": continue
>          store.add((ENTRY + s, JO + p.replace(' ', '_'), Literal(o)))
> print store.serialize(format="pretty-xml")
>
> This successfully prints an rdf/xml serialization of my test graph but if
> I replace pretty-xml with n3, I get this error:
>
> AttributeError: 'unicode' object has no attribute 'n3'
>
> Perhaps there is something obvious I'm missing?
> _______________________________________________
> Dev mailing list
> Dev@rdflib.net
> http://rdflib.net/mailman/listinfo/dev
>

_______________________________________________
Dev mailing list
Dev@rdflib.net
http://rdflib.net/mailman/listinfo/dev

Reply via email to