yaml
shapes:
- kind: Class
id: example.Person
properties:
- id: example.Person/firstName
range: xsd:string
- id: example.Person/lastName
range: xsd:string
import com.google.appengine.repackaged.com.google.common.collect.ImmutableSet;
import com.google.appengine.repackaged.com.google.common.collect.Sets;
import com.google.appengine.repackaged.com.google.gson.Gson;
import com.google.appengine.repackaged.com.google.gson.GsonBuilder;
import io.konig.core.Graph;
import io.konig.core.NamespaceManager;
import io.konig.core.OwlReasoner;
import io.konig.core.Term;
import io.konig.core.impl.MemoryGraph;
import io.konig.core.impl.SimpleLocalNameService;
import io.konig.gcp.datasource.GcpShapeConfig;
import io.konig.shacl.Shape;
import io.konig.yaml.SchemaGenerator;
import io.konig.yaml.YamlParseException;
import io.konig.yaml.empgen.EntityProcessor;
import io.konig.yaml.empgen.EntityTemplateInfo;
import io.konig.yaml.empgen.EntityWriter;
import io.konig.yaml.empgen.impl.SimpleEntityController;
import io.konig.yaml.internal.ShapeMergeUpdateOpImpl;
public class PersonGenerator {
public static void main(String[] args) throws Exception {
String yamlFile = "path-to-your-yaml-file.yaml";
String targetPath = "path-to-save-generated-java-files";
Graph graph = new MemoryGraph();
NamespaceManager nsManager = new SimpleLocalNameService();
OwlReasoner reasoner = new OwlReasoner(graph);
GcpShapeConfig shapeConfig = new GcpShapeConfig(reasoner, nsManager);
ShapeMergeUpdateOpImpl shapeMerger = new ShapeMergeUpdateOpImpl();
SchemaGenerator generator = new SchemaGenerator();
generator.processYamlFile(yamlFile, targetPath, shapeConfig, shapeMerger, nsManager, graph);
}
}
public class MyApp {
public static void main(String[] args) {
Person person = new Person();
}
}