As OpenSG user/developer you can always instantiate all your nodes, cores or whatever objects you need one by one in your application code.
In addition OpenSG also provides - as most scene-graph libraries - a set of loaders, which create a scene tree or image from a given file. The system creates singleton Handlers for both types (SceneFileHandler and ImageFileHandler), which handle all abstract requests. The concrete loaders are coded in mime/file type handlers (e.g. OSGTIFImageFileType.h/OSGTIFImageFileType.cpp) and are automatically registered.
The system architecture is designed to handle built-in types and to fetch loaders for a specific type on request. In the current version (1.0) only built-in types are provided since the meta interfaces may not be final yet. However the 1.0 version comes with a sufficient set of built-in loaders and you can always extend the library to handle you own file format.
If you would like to get a loader for a specific type or suffix you can just ask the handler to find it (e.g. SceneFileHandler::the().getFileType("wrl")).
Just use the Handler to find and use the correct type for the given suffix: osg::NodePtr rootPtr = osg::SceneFileTypeSceneFileHandler::the().read("test.wrl") for example would pick the VRML loader (suffix is "wrl"), parse the file and return the result.
1.5.5