diff src/org/qmul/eecs/c4dm/sia/SiaDimensionValueFactory.java @ 0:08675ab08e7f

New
author Steven Hargreaves <steve.harg@gmail.com>
date Sat, 29 Dec 2012 17:41:06 +0000
parents
children 1e8f97ddaed3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/qmul/eecs/c4dm/sia/SiaDimensionValueFactory.java	Sat Dec 29 17:41:06 2012 +0000
@@ -0,0 +1,57 @@
+package org.qmul.eecs.c4dm.sia;
+
+import java.util.Vector;
+
+import org.qmul.eecs.c4dm.sia.model.DimensionValue;
+
+import com.hp.hpl.jena.ontology.OntModel;
+import com.hp.hpl.jena.rdf.model.Literal;
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.RDFNode;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.StmtIterator;
+
+public class SiaDimensionValueFactory {
+
+	public static Vector<DimensionValue> getDimensionValuesForResource(
+			OntModel ontModel, Resource subject) {
+		DimensionValue dimVal;
+		StmtIterator dimValStmtIter;
+		Property dimValProperty = ontModel.getOntProperty(DimensionValue.PROPERTY_URI);
+		Property dimensionProperty = ontModel.getOntProperty(DimensionValue.DIMENSION_URI);
+		Property valueProperty = ontModel.getOntProperty(DimensionValue.VALUE_URI);
+		dimValStmtIter = ontModel.listStatements(subject, dimValProperty, (RDFNode)null);
+		
+		Vector<DimensionValue> dimValsList = new Vector<DimensionValue>();
+		StmtIterator dimValDimensionStmtIter;
+		StmtIterator dimValValueStmtIter;
+
+		while (dimValStmtIter.hasNext())
+		{
+			Statement dimValStmt = dimValStmtIter.next();
+			System.out.println(dimValStmt.getSubject().toString() + " " + dimValStmt.getPredicate().toString() + " " + dimValStmt.getObject().toString());
+			
+			Resource dimValResource = dimValStmt.getResource();
+			
+			dimValDimensionStmtIter = ontModel.listStatements(dimValResource, dimensionProperty, (RDFNode)null);
+			dimValValueStmtIter = ontModel.listStatements(dimValResource, valueProperty, (RDFNode)null);
+			dimVal = new DimensionValue();
+
+			Statement dimValDimensionStmt = dimValDimensionStmtIter.next();
+			Statement dimValValueStmt = dimValValueStmtIter.next();
+			Literal dimension = dimValDimensionStmt.getObject().asLiteral();
+			dimVal.setDimension(dimension.getInt());
+
+			Literal value = dimValValueStmt.getObject().asLiteral();
+
+			dimVal.setValue(value.getDouble());
+			
+			dimValsList.add(dimVal);				
+			System.out.println("dim: " + dimension.getInt() + " val: " + value.getDouble());
+			
+		}
+		return dimValsList;
+	}
+
+}