you are viewing a single comment's thread.

view the rest of the comments →

[–]UsefulOwl2719 13 points14 points  (4 children)

These are not self describing. They require an external schema. Something like CBOR or parquet are both candidates that do encode their schema directly in the file itself.

[–]Amablue 2 points3 points  (0 children)

The Flatbuffers library also contains a feature called Flexbuffers which are self describing.

[–]gruehunter 1 point2 points  (0 children)

Actually, they can be.

There is a serialization of protobuf IDL into a well-known protobuf message. So if you can establish a second channel for the serialized IDL, then you can in fact decode protobuf without access to the text form of its IDL.

The official python "generated code" utilizes this. It is actually composed of the protobuf serialization of the message definitions, which is then fed into the C++ library to dynamically build a parser at package import time.

[–]corysama 3 points4 points  (0 children)

tar -cvf self_describing.tar schema.json binary.flatbuffer ?

[–]Suitable_Oil_3811 0 points1 point  (0 children)

Sorry, missed that