public void gatherData(ObjectBundle bundle) { if (haveToGeneratePrefixes) { generatePrefixes(); haveToGeneratePrefixes = false; } Iterator<BSBMResource> it = bundle.iterator(); try { while (it.hasNext()) { BSBMResource obj = it.next(); // If modular generation is applied if (Generator.noOfMachines != -1) { if (((currentWriter + 1) % Generator.noOfMachines == Generator.thisMachineId)) { if (obj instanceof ProductType) { dataFileWriter[currentWriter].append(convertProductType((ProductType) obj)); } else if (obj instanceof Offer) { dataFileWriter[currentWriter].append(convertOffer((Offer) obj)); } else if (obj instanceof Product) { dataFileWriter[currentWriter].append(convertProduct((Product) obj)); } else if (obj instanceof Person) { dataFileWriter[currentWriter].append(convertPerson((Person) obj, bundle)); } else if (obj instanceof Producer) { dataFileWriter[currentWriter].append(convertProducer((Producer) obj)); } else if (obj instanceof ProductFeature) { dataFileWriter[currentWriter].append(convertProductFeature((ProductFeature) obj)); } else if (obj instanceof Vendor) { dataFileWriter[currentWriter].append(convertVendor((Vendor) obj)); } else if (obj instanceof Review) { dataFileWriter[currentWriter].append(convertReview((Review) obj, bundle)); } } } else if (currentWriter > (Generator.fromFileId - 2) && currentWriter < Generator.toFileId) { if (obj instanceof ProductType) { dataFileWriter[currentWriter].append(convertProductType((ProductType) obj)); } else if (obj instanceof Offer) { dataFileWriter[currentWriter].append(convertOffer((Offer) obj)); } else if (obj instanceof Product) { dataFileWriter[currentWriter].append(convertProduct((Product) obj)); } else if (obj instanceof Person) { dataFileWriter[currentWriter].append(convertPerson((Person) obj, bundle)); } else if (obj instanceof Producer) { dataFileWriter[currentWriter].append(convertProducer((Producer) obj)); } else if (obj instanceof ProductFeature) { dataFileWriter[currentWriter].append(convertProductFeature((ProductFeature) obj)); } else if (obj instanceof Vendor) { dataFileWriter[currentWriter].append(convertVendor((Vendor) obj)); } else if (obj instanceof Review) { dataFileWriter[currentWriter].append(convertReview((Review) obj, bundle)); } } currentWriter = (currentWriter + 1) % dataFileWriter.length; } } catch (IOException e) { System.err.println("Could not write into File!"); System.err.println(e.getMessage()); System.exit(-1); } }
public Turtle(String file, boolean forwardChaining, int nrOfOutputFiles) { int nrOfDigits = ((int) Math.log10(nrOfOutputFiles)) + 1; String formatString = "%0" + nrOfDigits + "d"; try { dataFileWriter = new FileWriter[nrOfOutputFiles]; if (nrOfOutputFiles == 1) this.dataFileWriter[0] = new FileWriter(file + ".ttl"); else for (int i = 1; i <= nrOfOutputFiles; i++) { if (Generator.noOfMachines != -1) { if (i % Generator.noOfMachines == Generator.thisMachineId) { dataFileWriter[i - 1] = new FileWriter(file + String.format(formatString, i) + ".ttl"); } } else if (i > (Generator.fromFileId - 1) && i < (Generator.toFileId + 1)) { dataFileWriter[i - 1] = new FileWriter(file + String.format(formatString, i) + ".ttl"); } } } catch (IOException e) { System.err.println("Could not open File for writing."); System.err.println(e.getMessage()); System.exit(-1); } try { for (int i = 0; i < nrOfOutputFiles; i++) if (Generator.noOfMachines != -1) { if (((i + 1) % Generator.noOfMachines) == Generator.thisMachineId) { dataFileWriter[i].append(getNamespaces()); } } else if (i > (Generator.fromFileId - 2) && i < Generator.toFileId) { dataFileWriter[i].append(getNamespaces()); } } catch (IOException e) { System.err.println(e.getMessage()); } this.forwardChaining = forwardChaining; nrTriples = 0l; TurtleShutdown sd = new TurtleShutdown(this); Runtime.getRuntime().addShutdownHook(sd); }
public void serialize() { // Close files try { for (int i = 0; i < dataFileWriter.length; i++) { if (Generator.noOfMachines != -1) { if (((i + 1) % Generator.noOfMachines) == Generator.thisMachineId) { dataFileWriter[i].flush(); dataFileWriter[i].close(); } } else if (i > (Generator.fromFileId - 2) && i < Generator.toFileId) { dataFileWriter[i].flush(); dataFileWriter[i].close(); } } } catch (IOException e) { System.err.println(e.getMessage()); System.exit(-1); } }
private void generatePrefixes() { StringBuilder sb = new StringBuilder(); for (int i = 1; i < Generator.producerOfProduct.size(); i++) { sb.append("@prefix dataFromProducer"); sb.append(i); sb.append(": <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer"); sb.append(i); sb.append("/> .\n"); } for (int i = 1; i < Generator.vendorOfOffer.size(); i++) { sb.append("@prefix dataFromVendor"); sb.append(i); sb.append(": <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor"); sb.append(i); sb.append("/> .\n"); } for (int i = 1; i < Generator.ratingsiteOfReview.size(); i++) { sb.append("@prefix dataFromRatingSite"); sb.append(i); sb.append(": <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromRatingSite"); sb.append(i); sb.append("/> .\n"); } sb.append("\n"); try { String tempString = sb.toString(); for (int i = 0; i < dataFileWriter.length; i++) if (Generator.noOfMachines != -1) { if (((i + 1) % Generator.noOfMachines) == Generator.thisMachineId) { dataFileWriter[i].append(tempString); } } else if (i > (Generator.fromFileId - 2) && i < Generator.toFileId) { dataFileWriter[i].append(tempString); } } catch (IOException e) { System.err.println(e.getMessage()); } }