public class SidIV<V extends BigdataBNode> extends AbstractInlineIV<V,ISPO> implements Serializable, org.openrdf.model.BNode
ISPO supplied in the ctor as the inline value. The
 #asValue(BigdataValueFactory, ILexiconConfiguration) method returns a
 BigdataBNode that is used to represent the sid in serialization
 formats (such as the custom RDF/XML extension for sids). The bnode is
 guaranteed to always have the same bnode id for a given inlined SPO. This is
 accomplished using the byte[] key encoding for the spo along with the
 BigInteger class.
 
 This internal value has a VTE of VTE.STATEMENT. It is encoded
 into the statement indices by directly encoding the spo using
 SPOKeyOrder.encodeKey(IKeyBuilder, ISPO) via the
 SPOKeyOrder.SPO key order. Thus when decoded from the statement
 indices, the spo associated with this sid is materialized directly from the
 sid itself. See IVUtility.decode(byte[]). The spo decoded from the
 sid IV will be marked as explicit (only explicit statements have sids) and
 this SidIV will be attached to it. This completely eliminates the need for a
 reverse index from sid->spo, as the spo is encoded inline into the SidIV
 itself.  This replaces the TermId model for representing sids.
 
flags| Constructor and Description | 
|---|
| SidIV(ISPO spo)Ctor with internal value spo specified. | 
| Modifier and Type | Method and Description | 
|---|---|
| int | _compareTo(IV o)Compare two  IVs having the same intrinsic datatype. | 
| V | asValue(LexiconRelation lex)Returns the bnode representation of this IV, useful for serialization
 formats such as RDF/XML. | 
| int | byteLength()Return the byte length for the byte[] encoded representation of this
 internal value. | 
| IV<V,ISPO> | clone(boolean clearCache)Return a copy of this  IV. | 
| IKeyBuilder | encode(IKeyBuilder keyBuilder)Encode this internal value into the supplied key builder. | 
| boolean | equals(Object o)Two  SidIVare equal if their (s,p,o) IVs are equal. | 
| String | getID()Implements  BNode.getID(). | 
| ISPO | getInlineValue()Returns the inline spo. | 
| int | hashCode()Return a hash code based on the value of the point in the value space. | 
| boolean | needsMaterialization()Does not need materialization to answer BNode interface methods. | 
| String | stringValue()Implements  Value.stringValue(). | 
| static byte | toFlags()Return the  flagsbyte for aSidIV. | 
| String | toString() | 
isInlinecompareTo, flags, getDTE, getDTE, getDTEX, getInternalValueTypeEnum, getValue, getValueCache, getVTE, getVTE, hasValue, isBigNumeric, isBNode, isExtension, isExtension, isFixedNumeric, isFloatingPointNumeric, isInline, isLiteral, isNullIV, isNumeric, isResource, isSignedNumeric, isStatement, isUnsignedNumeric, isURI, isVocabulary, setValue, toFlagspublic SidIV(ISPO spo)
public IV<V,ISPO> clone(boolean clearCache)
IVCacheIV.
 
 Note: This method exists to defeat the hard reference from the IV
 to the cached BigdataValue in order to avoid a memory leak when
 the IV is used as the key in a weak value cache whose value is
 the BigdataValue. Therefore, certain IV implementations
 MAY return this when they are used for limited collections. The
 vocabulary IVs are the primary example. For the same reason, we do not
 need to recursively break the link from the IV to the
 BigdataValue for IVs which embed other IVs.
clone in interface IVCache<V extends BigdataBNode,ISPO>clearCache - When true the cached reference (if any) will NOT
            be set on the copy.(Thread-local
      cache combined with unbounded thread pools causes effective memory
      leak)public static final byte toFlags()
flags byte for a SidIV.public ISPO getInlineValue() throws UnsupportedOperationException
getInlineValue in interface IV<V extends BigdataBNode,ISPO>Object.UnsupportedOperationException - unless the RDF value is inline.public V asValue(LexiconRelation lex)
#bnodeId().asValue in interface IVCache<V extends BigdataBNode,ISPO>lex - The lexicon relation (this is required in order to access the
            BigdataValueFactory for the namespace associated with
            lexicon when we materialize an inline IV).BigdataValue.public int byteLength()
byteLength in interface IV<V extends BigdataBNode,ISPO>public int hashCode()
AbstractIV
 Note: The IV implementations typically DO NOT return hash codes
 that are consistent with BigdataValue#hashCode(). Therefore you
 MUST NOT mix IVs and BigdataValues in the keys of a map
 or the values of a set.
hashCode in interface org.openrdf.model.BNodehashCode in class AbstractIV<V extends BigdataBNode,ISPO>public String getID()
BNode.getID().
 
 This implementation uses the BigInteger class to create a unique
 blank node ID based on the unsigned byte[] key of the inline
 SPO.
getID in interface org.openrdf.model.BNodepublic boolean equals(Object o)
SidIV are equal if their (s,p,o) IVs are equal.equals in interface org.openrdf.model.BNodeequals in class AbstractIV<V extends BigdataBNode,ISPO>public int _compareTo(IV o)
AbstractIVIVs having the same intrinsic datatype._compareTo in class AbstractIV<V extends BigdataBNode,ISPO>public IKeyBuilder encode(IKeyBuilder keyBuilder)
 Encode the IV as an unsigned byte[].
encode in interface IV<V extends BigdataBNode,ISPO>encode in class AbstractIV<V extends BigdataBNode,ISPO>keyBuilder - The object used to encode the IV.public String stringValue()
Value.stringValue().stringValue in interface org.openrdf.model.Valuepublic boolean needsMaterialization()
needsMaterialization in interface IV<V extends BigdataBNode,ISPO>Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.