walidazizi / rdflib

Automatically exported from code.google.com/p/rdflib
Other
0 stars 0 forks source link

Constructing a literal from another literal does not copy language or datatype tag #203

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago

In [15]: b=rdflib.Literal("2", datatype=rdflib.XSD.integer)

In [16]: b
Out[16]: rdflib.term.Literal(u'2', 
datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer'))

In [17]: rdflib.Literal(b)==b
Out[17]: False

In [18]: rdflib.Literal(b)
Out[18]: rdflib.term.Literal(u'2')

----

In [9]: a=rdflib.Literal("cake",lang="en")

In [10]: a
Out[10]: rdflib.term.Literal(u'cake', lang='en')

In [11]: rdflib.Literal(a)==a
Out[11]: False

In [14]: rdflib.Literal(a)
Out[14]: rdflib.term.Literal(u'cake')

The constructor thinks it's just a string - we should probably check for 
literals and copy it completely. 

Original issue reported on code.google.com by gromgull on 15 Jan 2012 at 6:20

GoogleCodeExporter commented 8 years ago
Fixed in r7a4d65400beb

Original comment by gromgull on 15 Feb 2012 at 2:16