private void processStringPattern(Sheet sheet, int row) throws Exception { DefinedStringPattern prim = new DefinedStringPattern(); prim.setCode(sheet.getColumn(row, "Data Type")); prim.setDefinition(sheet.getColumn(row, "Definition")); prim.setComment(sheet.getColumn(row, "Comments")); prim.setRegex(sheet.getColumn(row, "RegEx")); prim.setSchema(sheet.getColumn(row, "Schema")); prim.setBase(sheet.getColumn(row, "Base")); TypeRef td = new TypeRef(); td.setName(prim.getCode()); definitions.getKnownTypes().add(td); definitions.getPrimitives().put(prim.getCode(), prim); }
private void gen(DefinedStringPattern t) { Section section = section(t.getCode()); section.triple("fhir:" + t.getCode(), "rdfs:subClassOf", "fhir:" + t.getBase()); section.comment("fhir:" + t.getCode(), t.getDefinition()); nilInstance.predicate("a", "fhir:" + t.getCode()); section.triple( "fhir:" + t.getCode() + ".value", "rdfs:subPropertyOf", "fhir:" + t.getBase() + ".value"); if (t.getSchema().endsWith("+")) { section.triple( "fhir:" + t.getCode() + ".value", "rdfs:range", t.getSchema().substring(0, t.getSchema().length() - 1)); section.triple( "fhir:" + t.getCode() + ".value", "owl:withRestriction", complex().predicate("xs:pattern", literal(t.getRegex()))); } else section.triple("fhir:" + t.getCode() + ".value", "rdfs:range", t.getSchema()); }