Data Serialization + RPC with Avro & Ruby. Avro 1.4.1 Specification. Introduction This document defines Apache Avro.
It is intended to be the authoritative specification. Implementations of Avro must adhere to this document. Schema Declaration A Schema is represented in JSON by one of: Primitive Types The set of primitive type names is: null: no value boolean: a binary value int: 32-bit signed integer long: 64-bit signed integer float: single precision (32-bit) IEEE 754 floating-point number double: double precision (64-bit) IEEE 754 floating-point number bytes: sequence of 8-bit unsigned bytes string: unicode character sequence Primitive types have no specified attributes. Primitive type names are also defined type names. Complex Types Avro supports six kinds of complex types: records, enums, arrays, maps, unions and fixed. Records Records use the type name "record" and support three attributes: For example, a linked-list of 64-bit values may be defined with: Enums Enums use the type name "enum" and support the following attributes: Arrays Maps Unions Fixed Names Aliases.
Turtle - Terse RDF Triple Language. Abstract The Resource Description Framework (RDF) is a general-purpose language for representing information in the Web.
This document defines a textual syntax for RDF called Turtle that allows RDF graphs to be completely written in a compact and natural text form, with abbreviations for common usage patterns and datatypes. Turtle provides levels of compatibility with the existing N-Triples and Notation 3 formats as well as the triple pattern syntax of the SPARQL W3C Proposed Recommendation. This document specifies a language that is in common usage under the name "Turtle". It is intended to be compatible with, and a subset of, Notation 3. Status of this Document This section describes the status of this document at the time of its publication. This 14 January 2008 W3C Team Submission documents the currently deployed Turtle language, an alternative syntax to RDF/XML.
By publishing this document, David Beckett and Tim Berners-Lee have made a formal submission to W3C for discussion. 1. 2. 3. Sjson: Now offers Type Class based JSON Serialization in Scala. Sjson's serialization APIs have so long been based on reflection.
The advantage was that the API was remarkably easy to use, while the heavy lifting was done underneath by the reflection based implementation. However we need to remember that there's a big difference between the richness of type information that a JSON structure has and that which a Scala object can have. Unless you preserve the type information as part of your serialization protocol when going from Scala to JSON, it becomes very tricky and extremely difficult in some cases to do a lossless transformation. And with the JVM, type erasure makes it almost impossible to reconstruct some of the serialized JSON structures into the corresponding original Scala objects. From ver 0.7, sjson offers JSON serialization protocol that does not use reflection in addition to the original one.
JSON Serialization of built-in types Here’s a sample session at the REPL that uses the default serialization protocol of sjson .. Java Object Serialization Specification: Contents.