/** * Serializes the A-box corresponding to a predicate into one or multiple file. */ private void serializePredicate(OntopSQLOWLAPIConfiguration materializationConfig, IRI predicateIRI, PredicateType predicateType, String outputFile, String format, OWLOntology ontology, RDF rdfFactory) throws Exception { final long startTime = System.currentTimeMillis(); System.err.println("Starts writing triples into files."); int tripleCount = 0; int fileCount = 0; String outputDir = outputFile; String filePrefix = Paths.get(outputDir, predicateIRI.toString().replaceAll("[^a-zA-Z0-9]", "_") + predicateType.getCode() +"_" ).toString(); OntopOWLAPIMaterializer materializer = OntopOWLAPIMaterializer.defaultMaterializer(); MaterializationParams materializationParams = MaterializationParams.defaultBuilder() .enableDBResultsStreaming(doStreamResults) .build(); try (MaterializedGraphOWLResultSet graphResultSet = materializer.materialize(materializationConfig, ImmutableSet.of(rdfFactory.createIRI(predicateIRI.toString())), materializationParams)) { while (graphResultSet.hasNext()) { tripleCount += serializeTripleBatch(ontology, graphResultSet, filePrefix, predicateIRI.toString(), fileCount, format); fileCount++; } System.out.println("NR of TRIPLES: " + tripleCount); System.out.println("VOCABULARY SIZE (NR of QUERIES): " + graphResultSet.getSelectedVocabulary().size()); } final long endTime = System.currentTimeMillis(); final long time = endTime - startTime; System.out.println("Elapsed time to materialize: " + time + " {ms}"); }
vocab = graphResultSet.getSelectedVocabulary().size();
System.err.println("VOCABULARY SIZE (NR of QUERIES): " + graphResults.getSelectedVocabulary().size());