Backing Datastore

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
nohspamjose
Posts: 16
Joined: Wed May 02, 2018 12:58 pm

Backing Datastore

Post by nohspamjose »

I am curious to know how CAD programs and FreeCAD in particular stores data?
Is it a relational DB, an object store, NoSQL, a structured file format or something else?
The reason I'm asking is that I've been exploring Graph Databases recently and there are some really useful features. They contain vertices (nodes or objects) and edges (links or relationships). I was just speculating whether CAD objects could benefit from this model. The architecture can manage mind boggling numbers of vertices and edges (into the billions), with little impact on the inherently speedy performance.

I was thinking the directed graph relationship model is a superset of hierarchical graphs and can deliver really sophisticated and fast query responses, so slicing and dicing the CAD model to show subsets or perspectives for any number of interesting dimensions, such as: functional, organisational, business, owner, manager, drafter, version, attribute, metadata, etc.

Just a thought. Is this something that's been explored already and if so, what were the conclusions?

One graph DB implementation is https://janusgraph.org/

Cheers,

Greg
chrisb
Veteran
Posts: 54144
Joined: Tue Mar 17, 2015 9:14 am

Re: Backing Datastore

Post by chrisb »

FreeCAD files are zip containers. Inside you find XML files.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Backing Datastore

Post by Jee-Bee »

and .brep files
Post Reply