annotate 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
rev   line source
steve@0 1 package org.qmul.eecs.c4dm.sia;
steve@0 2
steve@0 3 import java.util.Vector;
steve@0 4
steve@0 5 import org.qmul.eecs.c4dm.sia.model.DimensionValue;
steve@0 6
steve@0 7 import com.hp.hpl.jena.ontology.OntModel;
steve@0 8 import com.hp.hpl.jena.rdf.model.Literal;
steve@0 9 import com.hp.hpl.jena.rdf.model.Property;
steve@0 10 import com.hp.hpl.jena.rdf.model.RDFNode;
steve@0 11 import com.hp.hpl.jena.rdf.model.Resource;
steve@0 12 import com.hp.hpl.jena.rdf.model.Statement;
steve@0 13 import com.hp.hpl.jena.rdf.model.StmtIterator;
steve@0 14
steve@0 15 public class SiaDimensionValueFactory {
steve@0 16
steve@0 17 public static Vector<DimensionValue> getDimensionValuesForResource(
steve@0 18 OntModel ontModel, Resource subject) {
steve@0 19 DimensionValue dimVal;
steve@0 20 StmtIterator dimValStmtIter;
steve@0 21 Property dimValProperty = ontModel.getOntProperty(DimensionValue.PROPERTY_URI);
steve@0 22 Property dimensionProperty = ontModel.getOntProperty(DimensionValue.DIMENSION_URI);
steve@0 23 Property valueProperty = ontModel.getOntProperty(DimensionValue.VALUE_URI);
steve@0 24 dimValStmtIter = ontModel.listStatements(subject, dimValProperty, (RDFNode)null);
steve@0 25
steve@0 26 Vector<DimensionValue> dimValsList = new Vector<DimensionValue>();
steve@0 27 StmtIterator dimValDimensionStmtIter;
steve@0 28 StmtIterator dimValValueStmtIter;
steve@0 29
steve@0 30 while (dimValStmtIter.hasNext())
steve@0 31 {
steve@0 32 Statement dimValStmt = dimValStmtIter.next();
steve@0 33 System.out.println(dimValStmt.getSubject().toString() + " " + dimValStmt.getPredicate().toString() + " " + dimValStmt.getObject().toString());
steve@0 34
steve@0 35 Resource dimValResource = dimValStmt.getResource();
steve@0 36
steve@0 37 dimValDimensionStmtIter = ontModel.listStatements(dimValResource, dimensionProperty, (RDFNode)null);
steve@0 38 dimValValueStmtIter = ontModel.listStatements(dimValResource, valueProperty, (RDFNode)null);
steve@0 39 dimVal = new DimensionValue();
steve@0 40
steve@0 41 Statement dimValDimensionStmt = dimValDimensionStmtIter.next();
steve@0 42 Statement dimValValueStmt = dimValValueStmtIter.next();
steve@0 43 Literal dimension = dimValDimensionStmt.getObject().asLiteral();
steve@0 44 dimVal.setDimension(dimension.getInt());
steve@0 45
steve@0 46 Literal value = dimValValueStmt.getObject().asLiteral();
steve@0 47
steve@0 48 dimVal.setValue(value.getDouble());
steve@0 49
steve@0 50 dimValsList.add(dimVal);
steve@0 51 System.out.println("dim: " + dimension.getInt() + " val: " + value.getDouble());
steve@0 52
steve@0 53 }
steve@0 54 return dimValsList;
steve@0 55 }
steve@0 56
steve@0 57 }