All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bigdata.rdf.lexicon.ITermIndexCodes Maven / Gradle / Ivy

Go to download

Blazegraph(TM) DB Core Platform. It contains all Blazegraph DB dependencies other than Blueprints.

There is a newer version: 2.1.4
Show newest version
/**

Copyright (C) SYSTAP, LLC DBA Blazegraph 2006-2016.  All rights reserved.

Contact:
     SYSTAP, LLC DBA Blazegraph
     2501 Calvert ST NW #106
     Washington, DC 20008
     licenses@blazegraph.com

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
/*
 * Created on Jan 6, 2008
 */

package com.bigdata.rdf.lexicon;

/**
 * This interface defines the signed byte values indicating the type of a term
 * in the term index. The purpose of this is to partition the term:id index into
 * disjoint key ranges where the order of the terms in each of those partitions
 * is well defined. I.e., URIs are in one key range and the total order over the
 * URIs is well defined. The literals are broken down into a key range
 * corresponding to the plain literals, the language type literals, and the data
 * type literals (which is further broken down by the data type in order to
 * produce well-defined total orders).
 * 

* Note: when these signed bytes get encoded as unsigned bytes in a key their * values change. For example, 2 becomes 130. * * @see ITermIdCodes, defines bit masks that are applied to the low bits of the * assigned term identifiers and which indicate directly (without * consulting the term index) whether a term is a URI, Literal, BNode, or * Statement. * * @author Bryan Thompson * @version $Id$ */ public interface ITermIndexCodes { /** indicates a URI. */ final public static byte TERM_CODE_URI = 0x01; /** indicates a plain literal. */ final public static byte TERM_CODE_LIT = 0x02; /** indicates a literal with a language code. */ final public static byte TERM_CODE_LCL = 0x03; /** indicates a literal with a data type URI. */ final public static byte TERM_CODE_DTL = 0x04; /** indicates a blank node. */ final public static byte TERM_CODE_BND = 0x05; // /** // * Indicates a statement identifier (used for statements about statements // * where the statement identifier is used in any of the subject, predicate, // * or object positions). // *

// * Note: Statement identifiers are assigned the highest code so that they // * will be processed last when doing an ordered write of terms on the terms // * index. This allows us to ensure that the component term identifiers in // * the statement have been resolved before the statement itself is written // * into the terms index. // */ // final public static byte TERM_CODE_STMT = 0x06; // /** // * @deprecated This is a place holder for a namespace for an alternative // * coding of datatype literal keys. // */ // final public static byte TERM_CODE_DTL2 = 0x07; }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy