Representation of Multi-level, structured, hierarchical or nested relational data using CSV or TDV

Demonstrates representation of Multi-level, structured, hierarchical or nested relational data using CSV or TDV formats. Demonstrates CSV/TDV to JSON/XML conversion. It also demonstrates how database binding can be achieved using SQLite db.
 
CHENNAI, India - July 25, 2015 - PRLog -- Summary

This project demonstrates the idea of using CSV format for defining structured relational data.  Open source reference implementations are available under github repository https://github.com/siara-cc/csv_ml.

Applications

* Enterprise Application Integration (EAI)
* Lightweight alternative to JSON or XML in Three-tier architecture
* Alternative to XML in transfer of data using AJAX
* Data storage and transfer format for embedded platforms such as Arduino and Raspberry PI.
* Data storage and transfer format for mobile/tablet devices based on Android, Windows or iOS.
* Data transfer format for spreadsheets as Tab delimited values (TDV) through clipboard or otherwise.

Overview

csv_ml attempts to provide a simple unambiguous format for representing structured data that includes schema definition.  csv_ml is expected to:

* save storage space (about 50% compared to JSON and 60-70% compared to XML)
* increase data transfer speeds
* be faster to parse compared to XML and JSON
* allow full schema definition and validation
* make schema definition simple, lightweight and in-line compared to DTD or XML Schema
* allow database binding
* be simpler to parse, allowing data to be available even in low memory devices

This format is also applicable for Tab Delimited Values (TDV) as used in popular spreadsheets.  The format is also flexible enough to support other delimiter characters such as | or : or /.

This document illustrates the idea starting with simple conventional CSV and proceeds to explain how it can be used to represent complex nested relational data structures with examples.

The reference implementation uses the same examples given here subsequently and allows the user to visualize relational data using CSV, TDV, JSON, XML.  It also demonstrates how database binding can be achieved using SQLite db.

RFC4180 is taken as the basis for parsing of CSV.

This software also demonstrates how data binding can be accomplished with SQLite by way of generating INSERT, UPDATE, DELETE and SELECT SQL statements.

Examples demonstrated

* Conventional Table data
* Table data without Header
* Table data with Header and Node name
* Table data with Header and Node index
* Multiple nodes under root
* Multiple level data
* Multiple level data with siblings
* Node attributes
* Node content
* Quote handling
* Inline comments and empty lines
* Changing root node
* Changing root node - data node as root
* Changing root node - error case 1
* Changing root node - error case 2
* Namespaces (1)
* Namespaces (2)
* Namespaces (3)
* Re-using node definition
* Schema - Specifying type and length',
* Schema - Default value
* Schema - Null values (1)
* Schema - Null values (2)
* Schema - Precision and Scale
* Schema - Date and Time
* Schema - Special column 'id'
* Schema - Special column 'parent id'

Contact
Arun
arun@siara.cc
End
Source: » Follow
Email:***@siara.cc Email Verified
Tags:Nested Csv, Rest, Tdv, Xml, Json
Industry:Open source, Software
Location:Chennai - Tamil Nadu - India
Subject:Products
Account Email Address Verified     Account Phone Number Verified     Disclaimer     Report Abuse



Like PRLog?
9K2K1K
Click to Share