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

Andy Seaborne commented on JENA-721:
------------------------------------

Matching of triples TDB works by comparing NodeIds - it avoids reconstituting 
the node during pattern matching (it's expensive to look into the node table 
all the time).

So the value is compared for inlined nodes.  Details such as the exact way it 
was written (e.g. with or without the leading "+") are not recorded.

> Inline literals, source types are discarded
> -------------------------------------------
>
>                 Key: JENA-721
>                 URL: https://issues.apache.org/jira/browse/JENA-721
>             Project: Apache Jena
>          Issue Type: Improvement
>          Components: TDB
>    Affects Versions: TDB 1.0.1
>            Reporter: Marek Kowalczyk
>            Priority: Minor
>         Attachments: JENA-721.patch
>
>
> NodeId.inline$ changes the actual type of literals from subtypes of 
> xsd:integer  to xsd:integer, for instance: literals of type 
> xsd:positiveInteger are stored ad inline type INTEGER and during read decoded 
> as xsd:integer in NodeId.extract(NodeId)
> {code}
>  case INTEGER:
>             {
>                 long val = IntegerNode.unpack(v) ;
>                 Node n = NodeFactory.createLiteral(Long.toString(val), null, 
> XSDDatatype.XSDinteger) ;
>                 return n ;
>             }
> {code}
> It would be nice to add support for various xsd:types and use the 7 bits 
> reserved for inline type to represent more than 7 types.
> As a fastest workaround I've disabled the inline literals in NodeId( using 
> reflection) , but it would be great If it would be configurable via context 
> or parameter in StoreConnection.make(); or via SystemParams



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to