Mercurial > hg > semantic-sia
changeset 83:4ef262740ceb
can be run with a specified maximum number of Datapoints and for a specified midiFileName
author | stevenh |
---|---|
date | Fri, 30 Aug 2013 16:12:28 +0100 |
parents | ade1f2d811e8 |
children | ba757f11f4b0 |
files | src/org/qmul/eecs/c4dm/sia/midi/MidiParser.java |
diffstat | 1 files changed, 32 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/src/org/qmul/eecs/c4dm/sia/midi/MidiParser.java Fri Aug 02 16:19:50 2013 +0100 +++ b/src/org/qmul/eecs/c4dm/sia/midi/MidiParser.java Fri Aug 30 16:12:28 2013 +0100 @@ -79,6 +79,14 @@ public static void main(String[] args) { + MidiParser midiParser = new MidiParser(); + midiParser.midiToRdf(6, midiFileName); + } + + public void midiToRdf(int maxDatapoints, String midiFileName) + { + int numDatapoints = 0; + // First create a Jena ontology model OntModel model = ModelFactory .createOntologyModel(); // OntModelSpec.OWL_MEM @@ -232,28 +240,32 @@ dimVals.add(channelDimVal); datapoint.setDimensionValues(dimVals); - datapoints.add(datapoint); - // RDF + if (numDatapoints < maxDatapoints) + { + datapoints.add(datapoint); + numDatapoints++; - Resource datapointBnode = model.createResource(AnonId.create()); - model.add(datapointBnode, RDF.type, datapointResource); - - // Find or create a DimVal for the TIME dimension - Resource timeDimValBnode = findOrCreateDimValBNode(model, TIME_DIMENSION, secs); - - // Find or create a DimVal for the PITCH dimension - Resource pitchDimValBnode = findOrCreateDimValBNode(model, PITCH_DIMENSION, data1); - - // Find or create a DimVal for the CHANNEL dimension - Resource channelDimValBnode = findOrCreateDimValBNode(model, CHANNEL_DIMENSION, trackDimensionMap.get(trackIdx)); - - // Find or create a Vector for these three DimVals - Resource vectorBnode = findOrCreateVectorBNode(model, timeDimValBnode, secs, - pitchDimValBnode, data1, channelDimValBnode, trackDimensionMap.get(trackIdx)); - - model.add(datapointBnode, siaVectorProperty, vectorBnode); - model.add(datapointBnode, siaMemberOfDatasetProperty, datasetBnode); + // RDF + Resource datapointBnode = model.createResource(AnonId.create()); + model.add(datapointBnode, RDF.type, datapointResource); + + // Find or create a DimVal for the TIME dimension + Resource timeDimValBnode = findOrCreateDimValBNode(model, TIME_DIMENSION, secs); + + // Find or create a DimVal for the PITCH dimension + Resource pitchDimValBnode = findOrCreateDimValBNode(model, PITCH_DIMENSION, data1); + + // Find or create a DimVal for the CHANNEL dimension + Resource channelDimValBnode = findOrCreateDimValBNode(model, CHANNEL_DIMENSION, trackDimensionMap.get(trackIdx)); + + // Find or create a Vector for these three DimVals + Resource vectorBnode = findOrCreateVectorBNode(model, timeDimValBnode, secs, + pitchDimValBnode, data1, channelDimValBnode, trackDimensionMap.get(trackIdx)); + + model.add(datapointBnode, siaVectorProperty, vectorBnode); + model.add(datapointBnode, siaMemberOfDatasetProperty, datasetBnode); + } } else if (messageCommand == ShortMessage.PITCH_BEND)