<!DOCTYPE html>
<html lang="en">
<head>
    

    <title>Apache Jena - RDF Binary using Apache Thrift</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link href="/css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="/css/bootstrap-extension.css" rel="stylesheet" type="text/css">
    <link href="/css/jena.css" rel="stylesheet" type="text/css">
    <link rel="shortcut icon" href="/images/favicon.ico" />

    <script src="https://code.jquery.com/jquery-2.2.4.min.js"
            integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
            crossorigin="anonymous"></script>
    <script src="/js/jena-navigation.js" type="text/javascript"></script>
    <script src="/js/bootstrap.min.js" type="text/javascript"></script>

    <script src="/js/improve.js" type="text/javascript"></script>

    
</head>

<body>

<nav class="navbar navbar-default" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/index.html">
                <img class="logo-menu" src="/images/jena-logo/jena-logo-notext-small.png" alt="jena logo">Apache Jena</a>
        </div>

        <div class="collapse navbar-collapse navbar-ex1-collapse">
            <ul class="nav navbar-nav">
                <li id="homepage"><a href="/index.html"><span class="glyphicon glyphicon-home"></span> Home</a></li>
                <li id="download"><a href="/download/index.cgi"><span class="glyphicon glyphicon-download-alt"></span> Download</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-book"></span> Learn <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li class="dropdown-header">Tutorials</li>
                        <li><a href="/tutorials/index.html">Overview</a></li>
                        <li><a href="/documentation/fuseki2/index.html">Fuseki Triplestore</a></li>
                        <li><a href="/documentation/notes/index.html">How-To's</a></li>
                        <li><a href="/documentation/query/manipulating_sparql_using_arq.html">Manipulating SPARQL using ARQ</a></li>
                        <li><a href="/tutorials/rdf_api.html">RDF core API tutorial</a></li>
                        <li><a href="/tutorials/sparql.html">SPARQL tutorial</a></li>
                        <li><a href="/tutorials/using_jena_with_eclipse.html">Using Jena with Eclipse</a></li>
                        <li class="divider"></li>
                        <li class="dropdown-header">References</li>
                        <li><a href="/documentation/index.html">Overview</a></li>
                        <li><a href="/documentation/query/index.html">ARQ (SPARQL)</a></li>
                        <li><a href="/documentation/assembler/index.html">Assembler</a></li>
                        <li><a href="/documentation/tools/index.html">Command-line tools</a></li>
                        <li><a href="/documentation/rdfs/">Data with RDFS Inferencing</a></li>
                        <li><a href="/documentation/geosparql/index.html">GeoSPARQL</a></li>
                        <li><a href="/documentation/inference/index.html">Inference API</a></li>
                        <li><a href="/documentation/javadoc.html">Javadoc</a></li>
                        <li><a href="/documentation/ontology/">Ontology API</a></li>
                        <li><a href="/documentation/permissions/index.html">Permissions</a></li>
                        <li><a href="/documentation/extras/querybuilder/index.html">Query Builder</a></li>
                        <li><a href="/documentation/rdf/index.html">RDF API</a></li>
                        <li><a href="/documentation/rdfconnection/">RDF Connection - SPARQL API</a></li>
                        <li><a href="/documentation/io/">RDF I/O</a></li>
                        <li><a href="/documentation/rdfstar/index.html">RDF-star</a></li>
                        <li><a href="/documentation/shacl/index.html">SHACL</a></li>
                        <li><a href="/documentation/shex/index.html">ShEx</a></li>
                        <li><a href="/documentation/jdbc/index.html">SPARQL over JDBC</a></li>
                        <li><a href="/documentation/tdb/index.html">TDB</a></li>
                        <li><a href="/documentation/tdb2/index.html">TDB2</a></li>
                        <li><a href="/documentation/query/text-query.html">Text Search</a></li>
                    </ul>
                </li>

                <li class="drop down">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-book"></span> Javadoc <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="/documentation/javadoc.html">All Javadoc</a></li>
                        <li><a href="/documentation/javadoc/arq/">ARQ</a></li>
                        <li><a href="/documentation/javadoc_elephas.html">Elephas</a></li>
                        <li><a href="/documentation/javadoc/fuseki2/">Fuseki</a></li>
                        <li><a href="/documentation/javadoc/geosparql/">GeoSPARQL</a></li>
                        <li><a href="/documentation/javadoc/jdbc/">JDBC</a></li>
                        <li><a href="/documentation/javadoc/jena/">Jena Core</a></li>
                        <li><a href="/documentation/javadoc/permissions/">Permissions</a></li>
                        <li><a href="/documentation/javadoc/extras/querybuilder/">Query Builder</a></li>
                        <li><a href="/documentation/javadoc/shacl/">SHACL</a></li>
                        <li><a href="/documentation/javadoc/tdb/">TDB</a></li>
                        <li><a href="/documentation/javadoc/text/">Text Search</a></li>
                    </ul>
                </li>

                <li id="ask"><a href="/help_and_support/index.html"><span class="glyphicon glyphicon-question-sign"></span> Ask</a></li>

                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-bullhorn"></span> Get involved <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="/getting_involved/index.html">Contribute</a></li>
                        <li><a href="/help_and_support/bugs_and_suggestions.html">Report a bug</a></li>
                        <li class="divider"></li>
                        <li class="dropdown-header">Project</li>
                        <li><a href="/about_jena/about.html">About Jena</a></li>
                        <li><a href="/about_jena/architecture.html">Architecture</a></li>
                        <li><a href="/about_jena/citing.html">Citing</a></li>
                        <li><a href="/about_jena/team.html">Project team</a></li>
                        <li><a href="/about_jena/contributions.html">Related projects</a></li>
                        <li><a href="/about_jena/roadmap.html">Roadmap</a></li>
                        <li class="divider"></li>
                        <li class="dropdown-header">ASF</li>
                        <li><a href="http://www.apache.org/">Apache Software Foundation</a></li>
                        <li><a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li>
                        <li><a href="http://www.apache.org/licenses/LICENSE-2.0">License</a></li>
                        <li><a href="http://www.apache.org/security/">Security</a></li>
                        <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
                    </ul>
                </li>


    

                <li id="edit"><a href="https://github.com/apache/jena-site/edit/main/source/documentation/io/rdf-binary.md" title="Edit this page on GitHub"><span class="glyphicon glyphicon-pencil"></span> Edit this page</a></li>
            </ul>
        </div>
    </div>
</nav>


<div class="container">
    <div class="row">
        <div class="col-md-12">
            <div id="breadcrumbs">
                
                    





<ol class="breadcrumb">
    
    
        
        
    
        
        
            
                <li><a href='/documentation'>DOCUMENTATION</a></li>
            
            
        
    
        
        
            
                <li><a href='/documentation/io'>IO</a></li>
            
            
        
    
        
        
            
                <li class="active">RDF BINARY</li>
            
            
        
    
</ol>




                
            </div>
            <h1 class="title">RDF Binary using Apache Thrift</h1>
            
	<p>&ldquo;RDF Binary&rdquo; is a efficient format for RDF and RDF-related data using
<a href="https://thrift.apache.org/">Apache Thrift</a>
or  <a href="https://developers.google.com/protocol-buffers">Google Protocol Buffers</a>
as the binary data encoding.</p>
<p>The W3C standard RDF syntaxes are text or XML based.  These incur costs in
parsing; the most human-readable formats also incur high costs to write, and
have limited scalability due to the need to analyse the data for pretty
printing rather than simply stream to output.</p>
<p>Binary formats are faster to process - they do not incur the parsing
costs of text-base formats.  &ldquo;RDF Binary&rdquo; defines basic encoding for RDF
terms, then builds data formats for RDF graphs, RDF datasets, and for
SPARQL result sets.  This gives a basis for high-performance linked data
systems.</p>
<p><a href="https://thrift.apache.org/">Thrift</a> and
<a href="https://developers.google.com/protocol-buffers">Protobuf</a> provides efficient,
widely-used, binary encoding layers each with a large number of language
bindings.</p>
<p>For more details of <a href="http://afs.github.io/rdf-thrift">RDF Thrift</a>.</p>
<h2 id="encoding-terms-thrift">Thrift encoding of RDF Terms</h2>
<p>RDF Thrift uses the Thrift compact protocol.</p>
<p>Source: <a href="https://github.com/apache/jena/blob/main/jena-arq/Grammar/RDF-Thrift/BinaryRDF.thrift">BinaryRDF.thrift</a></p>
<h3 id="rdf-terms">RDF terms</h3>
<pre><code>struct RDF_IRI {
1: required string iri
}

# A prefix name (abbrev for an IRI)
struct RDF_PrefixName {
1: required string prefix ;
2: required string localName ;
}

struct RDF_BNode {
1: required string label
}

struct RDF_Literal {
1: required string  lex ;
2: optional string  langtag ;
3: optional string  datatype ;
4: optional RDF_PrefixName dtPrefix ;
}

struct RDF_Decimal {
1: required i64  value ;
2: required i32  scale ;
}

struct RDF_VAR {
1: required string name ;
}

struct RDF_ANY { }

struct RDF_UNDEF { }

struct RDF_REPEAT { }

union RDF_Term {
1: RDF_IRI          iri
2: RDF_BNode        bnode
3: RDF_Literal      literal
4: RDF_PrefixName   prefixName 
5: RDF_VAR          variable
6: RDF_ANY          any
7: RDF_UNDEF        undefined
8: RDF_REPEAT       repeat
9: RDF_Triple       tripleTerm  # RDF-star

# Value forms of literals.
10: i64             valInteger
11: double          valDouble
12: RDF_Decimal     valDecimal
}
</code></pre>
<h3 id="encoding-thrift-tuples">Thrift encoding of Triples, Quads and rows.</h3>
<pre><code>struct RDF_Triple {
1: required RDF_Term S
2: required RDF_Term P
3: required RDF_Term O
}

struct RDF_Quad {
1: required RDF_Term S
2: required RDF_Term P
3: required RDF_Term O
4: optional RDF_Term G
}

struct RDF_PrefixDecl {
1: required string prefix ;
2: required string uri ;
}
</code></pre>
<h3 id="encoding-thrift-graphs-datasets">Thrift encoding of RDF Graphs and RDF Datasets</h3>
<pre><code>union RDF_StreamRow {
1: RDF_PrefixDecl   prefixDecl
2: RDF_Triple       triple
3: RDF_Quad         quad
}
</code></pre>
<p>RDF Graphs are encoded as a stream of <code>RDF_Triple</code> and <code>RDF_PrefixDecl</code>.</p>
<p>RDF Datasets are encoded as a stream of <code>RDF_Triple</code>, <code>RDF-Quad</code> and <code>RDF_PrefixDecl</code>.</p>
<h3 id="encoding-thrift-result-sets">Thrift encoding of SPARQL Result Sets</h3>
<p>A SPARQL Result Set is encoded as a list of variables (the header), then
a stream of rows (the results).</p>
<pre><code>struct RDF_VarTuple {
1: list&lt;RDF_VAR&gt; vars
}

struct RDF_DataTuple {
1: list&lt;RDF_Term&gt; row
}
</code></pre>
<h2 id="encoding-terms-protobuf">Protobuf encoding of RDF Terms</h2>
<p>The Protobuf schema is simialr.</p>
<p>Source:
<a href="https://github.com/apache/jena/blob/main/jena-arq/Grammar/RDF-Protobuf/binary-rdf.proto">binary-rdf.proto</a></p>
<p>Streaming isused to allow for abitrary size graphs. Therefore the steram items
(<code>RDF_StreamRow</code> below) are written with an initial length (<code>writeDelimitedTo</code>
in the Java API).</p>
<p>See
<a href="https://developers.google.com/protocol-buffers/docs/techniques#streaming">Protobuf Techniques Streaming</a>.</p>
<pre><code>syntax = &quot;proto3&quot;;

option java_package         = &quot;org.apache.jena.riot.protobuf.wire&quot; ;

// Prefer one file with static inner classes.
option java_outer_classname = &quot;PB_RDF&quot; ;
// Optimize for speed (default)
option optimize_for = SPEED ;

//option java_multiple_files = true;
// ==== RDF Term Definitions 

message RDF_IRI {
  string iri = 1 ;
} 
 
// A prefix name (abbrev for an IRI)
message RDF_PrefixName {
  string prefix = 1 ;
  string localName = 2 ;
} 

message RDF_BNode {
  string label = 1 ;
  // 2 * fixed64
} 

// Common abbreviations for datatypes and other URIs?
// union with additional values. 

message RDF_Literal {
  string lex = 1 ;
  oneof literalKind {
    bool simple = 9 ;
    string langtag = 2 ;
    string datatype = 3 ;
    RDF_PrefixName dtPrefix = 4 ;
  }
}

message RDF_Decimal {
  sint64  value = 1 ;
  sint32  scale = 2 ;
}

message RDF_Var {
  string name = 1 ;
}

message RDF_ANY { }

message RDF_UNDEF { }

message RDF_REPEAT { }

message RDF_Term {
  oneof term {
    RDF_IRI        iri        = 1 ;
    RDF_BNode      bnode      = 2 ;
    RDF_Literal    literal    = 3 ;
    RDF_PrefixName prefixName = 4 ;
    RDF_Var        variable   = 5 ;
    RDF_Triple     tripleTerm = 6 ;
    RDF_ANY        any        = 7 ;
    RDF_UNDEF      undefined  = 8 ;
    RDF_REPEAT     repeat     = 9 ;
    
    // Value forms of literals.
    sint64         valInteger = 20 ;
    double         valDouble  = 21 ;
    RDF_Decimal    valDecimal = 22 ;
  }
}

// === StreamRDF items 

message RDF_Triple {
  RDF_Term S = 1 ;
  RDF_Term P = 2 ;
  RDF_Term O = 3 ;
}

message RDF_Quad {
  RDF_Term S = 1 ;
  RDF_Term P = 2 ;
  RDF_Term O = 3 ;
  RDF_Term G = 4 ;
}

// Prefix declaration
message RDF_PrefixDecl {
  string prefix = 1;
  string uri    = 2 ;
}

// StreamRDF
message RDF_StreamRow {
  oneof row {
    RDF_PrefixDecl   prefixDecl  = 1 ;
    RDF_Triple       triple      = 2 ;
    RDF_Quad         quad        = 3 ;
    RDF_IRI          base        = 4 ;
  }
}

message RDF_Stream {
  repeated RDF_StreamRow row = 1 ;
}

// ==== SPARQL Result Sets

message RDF_VarTuple {
  repeated RDF_Var vars = 1 ;
}

message RDF_DataTuple {
  repeated RDF_Term row = 1 ;
}

// ==== RDF Graph

message RDF_Graph {
  repeated RDF_Triple triple = 1 ;
}
</code></pre>

        </div>
    </div>

</div>

<footer class="footer">
    <div class="container" style="font-size:80%" >
        <p>
            Copyright &copy; 2011&ndash;2022 The Apache Software Foundation, Licensed under the
            <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
        </p>
        <p>
            Apache Jena, Jena, the Apache Jena project logo, Apache and the Apache feather logos are trademarks of
            The Apache Software Foundation.
            <br/>
          <a href="https://privacy.apache.org/policies/privacy-policy-public.html"
             >Apache Software Foundation Privacy Policy</a>.
        </p>
    </div>
</footer>


<script type="text/javascript">
    var link = $('a[href="' + this.location.pathname + '"]');
    if (link != undefined)
        link.parents('li,ul').addClass('active');
</script>

</body>
</html>
