Alan created MARMOTTA-393:
-----------------------------
Summary: ClassCastException when loading Literal thats Stored as a
URI
Key: MARMOTTA-393
URL: https://issues.apache.org/jira/browse/MARMOTTA-393
Project: Marmotta
Issue Type: Bug
Components: KiWi Triple Store
Affects Versions: 3.1-incubating
Reporter: Alan
Assignee: Sebastian Schaffert
When loading a literal value that already exists as a URI the
KiWiConnection.loadLiteral throws an ClassCastException as the return ed node
is a URI.
{noformat}
Caused by: java.lang.ClassCastException:
org.apache.marmotta.kiwi.model.rdf.KiWiUriResource cannot be cast to
org.apache.marmotta.kiwi.model.rdf.KiWiLiteral
at
org.apache.marmotta.kiwi.persistence.KiWiConnection.loadLiteral(KiWiConnection.java:627)
at
org.apache.marmotta.kiwi.sail.KiWiValueFactory.createLiteral(KiWiValueFactory.java:435)
at
org.apache.marmotta.kiwi.sail.KiWiValueFactory.createLiteral(KiWiValueFactory.java:350)
at
org.openrdf.rio.helpers.RDFParserHelper.createLiteral(RDFParserHelper.java:250)
{noformat}
Perhaps loadLiteral could validate the type and return null e.g.
>From this:
{noformat}
return (KiWiLiteral)constructNodeFromDatabase(result);
{noformat}
To this:
{noformat}
KiWiNode node = constructNodeFromDatabase(result);
KiWiNode kiWiNode = constructNodeFromDatabase(result);
if(kiWiNode.isLiteral()) {
return (KiWiLiteral)kiWiNode;
} else {
return null;
}
{noformat}
--
This message was sent by Atlassian JIRA
(v6.1#6144)