stevenh@74: package org.qmul.eecs.c4dm.sia.model; stevenh@74: stevenh@74: import java.util.Vector; stevenh@74: stevenh@74: import org.qmul.eecs.c4dm.sia.exceptions.DimensionException; stevenh@74: import org.qmul.eecs.c4dm.sia.rdf.Namespaces; stevenh@74: stevenh@74: import com.hp.hpl.jena.rdf.model.Resource; stevenh@74: stevenh@74: /** stevenh@74: * @author steven hargreaves stevenh@74: * stevenh@74: */ stevenh@74: public class SiaVector extends NDimensionalObject { stevenh@74: stevenh@74: private Resource resource; stevenh@74: private int orderedIndex; stevenh@74: stevenh@74: public static final String RESOURCE_URI = Namespaces.SIA_NS_URI + "Vector"; stevenh@74: public static final String PROPERTY_URI = Namespaces.SIA_NS_URI + "vector"; stevenh@74: stevenh@74: /** stevenh@74: * @return the resource stevenh@74: */ stevenh@74: public Resource getResource() { stevenh@74: return resource; stevenh@74: } stevenh@74: stevenh@74: /** stevenh@74: * @param resource the node to set stevenh@74: */ stevenh@74: public void setResource(Resource resource) { stevenh@74: this.resource = resource; stevenh@74: } stevenh@74: stevenh@74: /** stevenh@74: * @return the orderedIndex stevenh@74: */ stevenh@74: public int getOrderedIndex() { stevenh@74: return orderedIndex; stevenh@74: } stevenh@74: stevenh@74: /** stevenh@74: * @param orderedIndex the orderedIndex to set stevenh@74: */ stevenh@74: public void setOrderedIndex(int orderedIndex) { stevenh@74: this.orderedIndex = orderedIndex; stevenh@74: } stevenh@74: stevenh@74: /** stevenh@74: * @param d stevenh@74: * @return stevenh@74: */ stevenh@74: public NDimensionalObject subtract(Datapoint d) stevenh@74: { stevenh@74: NDimensionalObject nDimObj = new NDimensionalObject(); stevenh@74: Vector dimVals = new Vector(); stevenh@74: int dimensions = d.getDimensionValues().size(); stevenh@74: DimensionValue dimVal; stevenh@74: stevenh@74: for (int dimension = 1; dimension <= dimensions; dimension++) stevenh@74: { stevenh@74: dimVal = new DimensionValue(); stevenh@74: dimVal.setDimension(dimension); stevenh@74: stevenh@74: try { stevenh@74: dimVal.setValue(this.getDimensionValue(dimension) - d.getDimensionValue(dimension)); stevenh@74: } catch (DimensionException e) { stevenh@74: e.printStackTrace(); stevenh@74: System.exit(1); stevenh@74: } stevenh@74: stevenh@74: dimVals.add(dimVal); stevenh@74: } stevenh@74: stevenh@74: nDimObj.setDimensionValues(dimVals); stevenh@74: return nDimObj; stevenh@74: } stevenh@74: stevenh@74: }