public void loadAll()

in ytdb/src/main/java/com/youtrackdb/ldbc/ytdb/loader/YtdbLoader.java [27:66]


    public void loadAll(Path datasetRoot) throws Exception {
        log.info("Starting LDBC SNB data load from: {}", datasetRoot);

        Path staticDir = datasetRoot.resolve("static");
        Path dynamicDir = datasetRoot.resolve("dynamic");

        validateDirectories(staticDir, dynamicDir);

        long startTime = System.currentTimeMillis();

        // Phase 1: Load static entities
        log.info("Loading static entities...");
        loadEntities(staticDir, "place_0_0.csv", LdbcSchema.PLACE, Place::parse, this::insertPlace);
        loadEntities(staticDir, "organisation_0_0.csv", LdbcSchema.ORGANISATION, Organisation::parse, this::insertOrganisation);
        loadEntities(staticDir, "tagclass_0_0.csv", LdbcSchema.TAG_CLASS, TagClass::parse, this::insertTagClass);
        loadEntities(staticDir, "tag_0_0.csv", LdbcSchema.TAG, Tag::parse, this::insertTag);

        // Phase 2: Load static relationships
        log.info("Loading static relationships...");
        loadSimpleEdge(staticDir, "place_isPartOf_place_0_0.csv", LdbcSchema.IS_PART_OF, LdbcSchema.PLACE, LdbcSchema.PLACE);
        loadSimpleEdge(staticDir, "organisation_isLocatedIn_place_0_0.csv", LdbcSchema.IS_LOCATED_IN, LdbcSchema.ORGANISATION, LdbcSchema.PLACE);
        loadSimpleEdge(staticDir, "tagclass_isSubclassOf_tagclass_0_0.csv", LdbcSchema.IS_SUBCLASS_OF, LdbcSchema.TAG_CLASS, LdbcSchema.TAG_CLASS);
        loadSimpleEdge(staticDir, "tag_hasType_tagclass_0_0.csv", LdbcSchema.HAS_TYPE, LdbcSchema.TAG, LdbcSchema.TAG_CLASS);

        // Phase 3: Load dynamic entities
        log.info("Loading dynamic entities...");
        loadEntities(dynamicDir, "person_0_0.csv", LdbcSchema.PERSON, Person::parse, this::insertPerson);
        loadEntities(dynamicDir, "forum_0_0.csv", LdbcSchema.FORUM, Forum::parse, this::insertForum);
        loadEntities(dynamicDir, "post_0_0.csv", LdbcSchema.POST, Post::parse, this::insertPost);
        loadEntities(dynamicDir, "comment_0_0.csv", LdbcSchema.COMMENT, Comment::parse, this::insertComment);

        // Phase 4: Load dynamic relationships
        log.info("Loading dynamic relationships...");
        loadPersonRelationships(dynamicDir);
        loadForumRelationships(dynamicDir);
        loadContentRelationships(dynamicDir);

        long duration = System.currentTimeMillis() - startTime;
        log.info("Data loading completed in {}ms ({} seconds)", duration, duration / 1000.0);
    }