[ 
https://issues.apache.org/jira/browse/MARMOTTA-393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13835275#comment-13835275
 ] 

Sebastian Schaffert commented on MARMOTTA-393:
----------------------------------------------

I also discovered this problem last week. It is already fixed in the 3.2 
development branch (a simple change in the SQL statement does the trick). Are 
you able to give it a try?

> 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
>            Priority: Minor
>
> When loading a literal value that already exists as a URI the 
> KiWiConnection.loadLiteral throws an ClassCastException as the returned 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 KiWiConnection.loadLiteral(String value, String lang, KiWiUriResource 
> ltype) 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)

Reply via email to