The blockchain itself is a data structure, and it is stored in files just like pretty much any other data. If you ran a witness, you could open up the files with a text editor and see the raw data, though it would look pretty meaningless.
If I still had my old witness server I could show you, but it has long been deleted.
As for how you access it, most witnesses interact with the CLI, ie. the Command Line Interface. But technically that is interacting with the Application Program Interface (API), not the blockchain directly, as you generally don't interact directly with raw data structures, you interface with an application or an API.
So it would be like You -> CLI -> API -> hived application -> blockchain. There may be more layers that I'm not aware of.
Would HAF be something to check out? (maybe it is still in Beta). From my understanding it is a more readable database of the blockchain continually updates so it is more user friendly for app developers.
I don't know enough about it to say.
Thanks! I could have just asked you directly like I normally do 😂