public Semantics.SemanticNetwork Load(ILanguage language) { var result = new Semantics.SemanticNetwork(language); Name.LoadTo(result.Name); result.WithModules(Repositories.Modules.Values.Where(module => Modules.Contains(module.Name)).ToList()); var conceptsCache = new Dictionary <Concept, IConcept>(); foreach (var concept in Concepts) { result.Concepts.Add(conceptsCache[concept] = concept.Load()); } var conceptIdResolver = new ConceptIdResolver(conceptsCache); foreach (var statement in Statements) { result.Statements.Add(statement.Save(conceptIdResolver)); } return(result); }
public abstract IStatement Save(ConceptIdResolver conceptIdResolver);