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)