OWLOntologyManager m = getOntologyRepository().createOwlOntologyManager(config, null); continue; exportObjectProperty(sortedValues, sortedIntents, o, objectProperty); writeValues(sortedValues); System.out.println(); continue; exportClass(sortedValues, sortedIntents, o, owlClass); writeValues(sortedValues); System.out.println(); continue; exportDataProperty(sortedValues, sortedIntents, iri, o, dataProperty); writeValues(sortedValues); System.out.println(); writeValues(sortedIntents); System.out.println();
public static void main(String[] args) throws Exception { CommandLineTool.main(new OwlToJava(), args); }
private void exportObjectProperty(SortedMap<String, String> sortedValues, SortedMap<String, String> sortedIntents, OWLOntology o, OWLObjectProperty objectProperty) { String iri = objectProperty.getIRI().toString(); String label = OWLOntologyUtil.getLabel(o, objectProperty); String javaConst = toJavaConst(label); addIntents(sortedIntents, OWLOntologyUtil.getIntents(o, objectProperty)); sortedValues.put(javaConst, String.format(" public static final String EDGE_LABEL_%s = \"%s\";", javaConst, iri)); }
void exportDataProperty(SortedMap<String, String> sortedValues, SortedMap<String, String> sortedIntents, IRI documentIri, OWLOntology o, OWLDataProperty dataProperty) { String iri = dataProperty.getIRI().toString(); String javaConstName = iriToJavaConstName(documentIri, iri); OWLDatatype range = getDataPropertyRange(o, dataProperty); String rangeIri = range.getIRI().toString(); addIntents(sortedIntents, OWLOntologyUtil.getIntents(o, dataProperty)); List<String> extendedDataTableNames = getExtendedDataTableNames(o, dataProperty); if (extendedDataTableNames.size() > 0) { String type; String name = iriToJavaConstName(documentIri, extendedDataTableName) + "_" + javaConstName; sortedValues.put(name, String.format(" public static final %s %s = new %s(\"%s\", \"%s\");", type, name, type, extendedDataTableName, iri)); if (getDataPropertyDomains(o, dataProperty).size() > 0 || getDataPropertyObjectDomains(o, dataProperty).size() > 0) { if ("http://visallo.org#extendedDataTable".equals(rangeIri)) { sortedValues.put(javaConstName, String.format(" public static final String %s = \"%s\";", javaConstName, iri)); type = GeoPointVisalloProperty.class.getSimpleName(); } else if ("http://www.w3.org/2001/XMLSchema#string".equals(rangeIri)) { String displayType = getDataPropertyDisplayType(o, dataProperty); if ("longText".equalsIgnoreCase(displayType)) { type = StreamingVisalloProperty.class.getSimpleName();
private void testExportDataProperty(String typeIri, String expectedType) { SortedMap<String, String> sortedValues = new TreeMap<>(); SortedMap<String, String> sortedIntents = new TreeMap<>(); IRI documentIri = IRI.create("http://visallo.org/test"); when(dataProperty.getIRI()).thenReturn(IRI.create("http://visallo.org/test#prop")); dataPropertyRange = new OWLDatatypeImpl(IRI.create(typeIri)); owlToJava.exportDataProperty(sortedValues, sortedIntents, documentIri, o, dataProperty); assertEquals(1, sortedValues.size()); assertEquals("public static final " + expectedType + " PROP = new " + expectedType + "(\"http://visallo.org/test#prop\");", sortedValues.get("PROP").trim()); }
@Test public void exportExtendedDataProperty() { SortedMap<String, String> sortedValues = new TreeMap<>(); SortedMap<String, String> sortedIntents = new TreeMap<>(); IRI documentIri = IRI.create("http://visallo.org/test"); when(dataProperty.getIRI()).thenReturn(IRI.create("http://visallo.org/test#prop")); dataPropertyRange = new OWLDatatypeImpl(IRI.create("http://www.w3.org/2001/XMLSchema#string")); extendedDataTableNames.add("http://visallo.org/test#table1"); dataPropertyDomains.add("http://visallo.org#testClass"); owlToJava.exportDataProperty(sortedValues, sortedIntents, documentIri, o, dataProperty); assertEquals(2, sortedValues.size()); assertEquals("public static final StringVisalloProperty PROP = new StringVisalloProperty(\"http://visallo.org/test#prop\");", sortedValues.get("PROP").trim()); assertEquals("public static final StringVisalloExtendedData TABLE1_PROP = new StringVisalloExtendedData(\"http://visallo.org/test#table1\", \"http://visallo.org/test#prop\");", sortedValues.get("TABLE1_PROP").trim()); } }
private void exportClass(SortedMap<String, String> sortedValues, SortedMap<String, String> sortedIntents, OWLOntology o, OWLClass owlClass) { String iri = owlClass.getIRI().toString(); String label = OWLOntologyUtil.getLabel(o, owlClass); String javaConst = toJavaConst(label); addIntents(sortedIntents, OWLOntologyUtil.getIntents(o, owlClass)); sortedValues.put(javaConst, String.format(" public static final String CONCEPT_TYPE_%s = \"%s\";", javaConst, iri)); }