On 11/01/17 15:42, George News wrote:
Literal a = (Literal)
ResourceFactory.createTypedLiteral("http://hola^^http://www.w3.org/2001/XMSchema#anyURI",
XSDDatatype.XSDanyURI);
System.out.println(a.getDatatype());
System.out.println(a.getLexicalForm());
System.out.println(a.getDatatypeURI());
System.out.println(a.getString());
Output:
Datatype[http://www.w3.org/2001/XMLSchema#anyURI -> class java.net.URI]
http://hola^^http://www.w3.org/2001/XMSchema#anyURI
http://www.w3.org/2001/XMLSchema#anyURI
http://hola^^http://www.w3.org/2001/XMSchema#anyURI
None of them returns "http://hola" which is the actual URI.
ResourceFactory.createTypedLiteral doesn't do what you think it does.
You've given it a String and so it creates a typed literal of type
xsd:string since that's the xsd datatype Jena takes as being "the"
datatype for strings.
So all of the ^^http gubbins is just part of the string value
you passed in and, naturally, that's what you get out when
you use getLexicalForm.
Don't do that.
Chris
--
"He could not weigh up which was worse and so tried not to think about either."
/The Spellgrinder's Apprentice/
Epimorphics Ltd, http://www.epimorphics.com
Registered address: Court Lodge, 105 High Street, Portishead, Bristol BS20 6PT
Epimorphics Ltd. is a limited company registered in England (number 7016688)