Mercurial > hg > semantic-sia
changeset 0:08675ab08e7f
New
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.classpath Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/PelletLibs"/> + <classpathentry kind="output" path="bin"/> +</classpath>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,25 @@ +syntax: glob +re:^bin/org/qmul/eecs/c4dm/sia/SiaDatapointFactory\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/SiaDimensionValueFactory\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/SiaMain\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/SiaVectorTableElementFactory\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/exceptions/DimensionException\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/Datapoint\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/DimensionValue\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/DirectlyFollows\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/FromDatapoint\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/MemberOfOrderedSet\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/NDimensionalObject\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/OrderedIndex\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/OrderedSet\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/ToDatapoint\.class$ +re:^bin/org/qmul/eecs/c4dm/sia/model/VectorTableElement\.class$ +re:^bin/rdf/finalModel\.n3$ +re:^bin/rdf/finalModel\.rdf$ +re:^bin/rdf/siaDatapointOntology\.n3$ +re:^bin/rules/functor_example\.rules$ +re:^bin/sparql/ask\.sparql$ +re:^bin/sparql/construct_vector_table_bnodes\.sparql$ +re:^bin/sparql/construct_vector_table_details\.sparql$ +re:^bin/sparql/select_all\.sparql$ +re:^bin/sparql/select_sia_results\.sparql$
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.project Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>Sia</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/SiaDatapointFactory.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,99 @@ +package org.qmul.eecs.c4dm.sia; + +import java.util.ArrayList; +import java.util.List; +import java.util.Vector; + +import org.qmul.eecs.c4dm.sia.model.Datapoint; +import org.qmul.eecs.c4dm.sia.model.DimensionValue; +import org.qmul.eecs.c4dm.sia.model.DirectlyFollows; +import org.qmul.eecs.c4dm.sia.model.MemberOfOrderedSet; +import org.qmul.eecs.c4dm.sia.model.OrderedIndex; +import org.qmul.eecs.c4dm.sia.model.OrderedSet; + +import com.hp.hpl.jena.ontology.Individual; +import com.hp.hpl.jena.ontology.OntClass; +import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.rdf.model.AnonId; +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; +import com.hp.hpl.jena.util.iterator.ExtendedIterator; +import com.hp.hpl.jena.vocabulary.RDF; + +public class SiaDatapointFactory { + + public static List<Datapoint> create(OntModel ontModel) { + + OntClass datapointClass = ontModel.getOntClass(Datapoint.RESOURCE_URI); + + Resource datapointResource = ontModel.getOntResource(datapointClass); + ExtendedIterator<Individual> datapointIter = ontModel.listIndividuals(datapointResource); + + List<Datapoint> datapointsList = new ArrayList<Datapoint>(); + Datapoint datapoint; + DimensionValue dimVal; + + // Find all rdf datapoints + Individual datapointIndividual; + StmtIterator dimValStmtIter; + while (datapointIter.hasNext()) + { + datapointIndividual = datapointIter.next(); + System.out.println(datapointIndividual.toString()); + datapoint = new Datapoint(); + datapoint.setResource(datapointIndividual); + + Resource subject = ontModel.getResource(datapointIndividual.toString()); + Vector<DimensionValue> dimValsList = SiaDimensionValueFactory.getDimensionValuesForResource( + ontModel, subject); + + datapoint.setDimensionValues(dimValsList); + datapointsList.add(datapoint); + + } + return datapointsList; + } + + public static void assertOrder(OntModel ontModel, List<Datapoint> datapoints) { + + Resource bnode = ontModel.createResource(AnonId.create()); + Resource siaOrderedSet = ontModel.createResource(OrderedSet.RESOURCE_URI); + + ontModel.add(bnode, RDF.type, siaOrderedSet); + + int numDatapoints = datapoints.size(); + + Datapoint datapoint; + Datapoint nextDatapoint; + Property memberOfOrderedSetProperty; + Property directlyFollowsProperty; + Property orderedIndexProperty; + + for (int orderedIndex = 0; orderedIndex < numDatapoints; orderedIndex++) + { + // Assert <bnode, rdf:type, sia:OrderedSet> + datapoint = datapoints.get(orderedIndex); + datapoint.setOrderedIndex(orderedIndex); + memberOfOrderedSetProperty = ontModel.getProperty(MemberOfOrderedSet.PROPERTY_URI); + ontModel.add(datapoint.getResource(), memberOfOrderedSetProperty, bnode); + + if (orderedIndex < numDatapoints - 1) + { + // Assert <nextDatapoint, sia:directlyFollows, currentDatapoint> + nextDatapoint = datapoints.get(orderedIndex + 1); + directlyFollowsProperty = ontModel.getProperty(DirectlyFollows.PROPERTY_URI); + ontModel.add(nextDatapoint.getResource(), directlyFollowsProperty, datapoint.getResource()); + } + + // Assert <currentDatapoint, sia:orderedIndex, orderedIndex> + orderedIndexProperty = ontModel.getProperty(OrderedIndex.PROPERTY_URI); + ontModel.addLiteral(datapoint.getResource(), orderedIndexProperty, orderedIndex); + + } + } + +}
--- /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; + } + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/SiaMain.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,274 @@ +// Copyright (c) 2006 - 2008, Clark & Parsia, LLC. <http://www.clarkparsia.com> +// This source code is available under the terms of the Affero General Public +// License v3. +// +// Please see LICENSE.txt for full license terms, including the availability of +// proprietary exceptions. +// Questions, comments, or requests for clarification: licensing@clarkparsia.com + +package org.qmul.eecs.c4dm.sia; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +import org.mindswap.pellet.jena.PelletReasonerFactory; +import org.qmul.eecs.c4dm.sia.model.Datapoint; +import org.qmul.eecs.c4dm.sia.model.VectorTableElement; + +import com.clarkparsia.pellet.sparqldl.jena.SparqlDLExecutionFactory; +import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.query.Query; +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.QueryFactory; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetFormatter; +import com.hp.hpl.jena.query.Syntax; +import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelFactory; +import com.hp.hpl.jena.rdf.model.Statement; +import com.hp.hpl.jena.rdf.model.StmtIterator; + +/** + * <p> + * Title: SPARQLDLExample + * </p> + * <p> + * Description: This program shows how to use the Pellet SPARQL-DL engine + * </p> + * <p> + * Copyright: Copyright (c) 2008 + * </p> + * <p> + * Company: Clark & Parsia, LLC. <http://www.clarkparsia.com> + * </p> + * + * @author Markus Stocker + */ +public class SiaMain { + + // The ontology loaded as dataset + private static final String ontology = "file:src/rdf/siaDatapointOntology.n3"; + + // The final output file + private static final String finalModelFileName = "src/rdf/finalModel"; + + // SPARQL queries + private static final String[] selectQueries = new String[] { + // A SPARQL-DL query +// "file:src/sparql/select_all.sparql" }; + "file:src/sparql/select_sia_results.sparql" }; + + // CONSTRUCT queries + private static final String[] constructQueries = new String[] { + // A SPARQL-DL CONSTRUCT query + "file:src/sparql/construct_vector_table_bnodes.sparql", + "file:src/sparql/construct_vector_table_details.sparql" }; + + // ASK queries + private static final String[] askQueries = new String[] { + // A SPARQL-DL ASK query + "file:src/sparql/ask.sparql" + }; + + public static String SIA_NS_URI = null; + + public void run() { + + // First create a Jena ontology model backed by the Pellet reasoner + // (note, the Pellet reasoner is required) + OntModel ontModel = ModelFactory + .createOntologyModel(PelletReasonerFactory.THE_SPEC); + + // Then read the data from the file into the ontology model + ontModel.read(ontology, "N3"); + + SIA_NS_URI = ontModel.getNsPrefixURI("sia"); + + // Print out what we've got so far + StmtIterator stmtIterator = ontModel.listStatements(); + printStmts(stmtIterator); + + // Create custom sia Datapoint objects + List<Datapoint> datapoints = SiaDatapointFactory.create(ontModel); + Collections.sort(datapoints); + + // Add datapoint order info to model + SiaDatapointFactory.assertOrder(ontModel, datapoints); + + for (Datapoint datapoint : datapoints) + { + System.out.println(datapoint.getResource().getLocalName()); + } + + // Run all the CONSTRUCT queries + for (int i = 0; i < constructQueries.length; i++) { + String constructQuery = constructQueries[i]; + + Model newModel = executeConstructQuery(constructQuery, ontModel); + + // Add new triples to the current model + ontModel.add(newModel); + + // Print out what we've got now + System.out.println("------------------"); + stmtIterator = ontModel.listStatements(); + printStmts(stmtIterator); + } + +// // Create custom sia VectorTableElement objects + List<VectorTableElement> vteList = SiaVectorTableElementFactory.create(ontModel, datapoints); + Iterator<VectorTableElement> vteIter = vteList.iterator(); + System.out.println("Unsorted"); + System.out.println("----------"); + while (vteIter.hasNext()) + { + VectorTableElement vte = vteIter.next(); + System.out.println("from: " + vte.getFromDatapoint().getResource().getLocalName() + " to: " + vte.getToDatapoint().getResource().getLocalName()); + } + Collections.sort(vteList); + vteIter = vteList.iterator(); + System.out.println("Now Sorted"); + System.out.println("----------"); + while (vteIter.hasNext()) + { + VectorTableElement vte = vteIter.next(); + System.out.println("from: " + vte.getFromDatapoint().getResource().getLocalName() + " to: " + vte.getToDatapoint().getResource().getLocalName()); + } + + // Add vector table element order info to model + SiaVectorTableElementFactory.assertOrder(ontModel, vteList); + + // Run all the SELECT queries + for (int i = 0; i < selectQueries.length; i++) { + + String selectQuery = selectQueries[i]; + queryTheModel(selectQuery, ontModel); + + } + + // Run all the ASK queries + for (int i = 0; i < askQueries.length; i++) { + + String askQuery = askQueries[i]; + askTheModel(askQuery, ontModel); + + } + + // Write the model to a file + File outFileRdf = new File(finalModelFileName + ".rdf"); + File outFileN3 = new File(finalModelFileName + ".n3"); + FileOutputStream outFileOutputStreamRdf; + FileOutputStream outFileOutputStreamN3; + System.out.println("Model written to files: " + + outFileRdf.getAbsolutePath() + " and " + outFileN3.getAbsolutePath()); + try { + outFileOutputStreamRdf = new FileOutputStream(outFileRdf); + outFileOutputStreamN3 = new FileOutputStream(outFileN3); + ontModel.writeAll(outFileOutputStreamRdf, "RDF/XML", null); + ontModel.writeAll(outFileOutputStreamN3, "N3", null); + } catch (FileNotFoundException e) { + // TODO Auto-generated catch block + System.out.println("Unable to write to one or both of files: " + + outFileRdf.getAbsolutePath() + " and " + outFileN3.getAbsolutePath()); + e.printStackTrace(); + } + } + + private Model executeConstructQuery(String query, Model m) { + + // Now read the query file into a query object + Query q = QueryFactory.read(query, Syntax.syntaxARQ); // only required + // if using + // (e.g.) LET in + // SPARQL + + QueryExecution qe = QueryExecutionFactory.create(q, m); + + // We want to execute a CONSTRUCT query, do it, and return the new + // triples + Model newModel = qe.execConstruct(); + + // Print the query for better understanding + System.out.println(q.toString()); + + // Print the new triples + StmtIterator iter = newModel.listStatements(); + printStmts(iter); + + return newModel; + } + + private void printStmts(StmtIterator iter) { + Statement statement; + + while (iter.hasNext()) { + statement = iter.nextStatement(); + System.out.println(" | <" + statement.getSubject() + "> | <" + + statement.getPredicate() + "> | <" + + statement.getObject() + "> | "); + } + + // And an empty line to make it pretty + System.out.println(); + } + + private void queryTheModel(String query, Model m) { + + // Now read the query file into a query object + Query q = QueryFactory.read(query, Syntax.syntaxARQ); // only required + // if using + // (e.g.) LET in + // SPARQL + + // Create a SPARQL-DL query execution for the given query and + // ontology model + QueryExecution qe = SparqlDLExecutionFactory.create(q, m); + + // We want to execute a SELECT query, do it, and return the result set + ResultSet rs = qe.execSelect(); + + // Print the query for better understanding + System.out.println(q.toString()); + + // There are different things we can do with the result set, for + // instance iterate over it and process the query solutions or, what we + // do here, just print out the results + ResultSetFormatter.out(rs); + + // And an empty line to make it pretty + System.out.println(); + } + + private void askTheModel(String query, Model m) { + + // Now read the query file into a query object + Query q = QueryFactory.read(query); + + // Create a SPARQL-DL query execution for the given query and + // ontology model + QueryExecution qe = SparqlDLExecutionFactory.create(q, m); + + // We want to execute a SELECT query, do it, and return the result set + boolean result = qe.execAsk(); + + // Print the query for better understanding + System.out.println(q.toString()); + + // Print the result + System.out.println("Result: " + result); + + // And an empty line to make it pretty + System.out.println(); + } + + public static void main(String[] args) { + SiaMain app = new SiaMain(); + app.run(); + } + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/SiaVectorTableElementFactory.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,143 @@ +package org.qmul.eecs.c4dm.sia; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Vector; + +import org.qmul.eecs.c4dm.sia.model.Datapoint; +import org.qmul.eecs.c4dm.sia.model.DimensionValue; +import org.qmul.eecs.c4dm.sia.model.DirectlyFollows; +import org.qmul.eecs.c4dm.sia.model.FromDatapoint; +import org.qmul.eecs.c4dm.sia.model.MemberOfOrderedSet; +import org.qmul.eecs.c4dm.sia.model.OrderedIndex; +import org.qmul.eecs.c4dm.sia.model.OrderedSet; +import org.qmul.eecs.c4dm.sia.model.ToDatapoint; +import org.qmul.eecs.c4dm.sia.model.VectorTableElement; + +import com.hp.hpl.jena.ontology.Individual; +import com.hp.hpl.jena.ontology.OntClass; +import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.rdf.model.AnonId; +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; +import com.hp.hpl.jena.util.iterator.ExtendedIterator; +import com.hp.hpl.jena.vocabulary.RDF; + +public class SiaVectorTableElementFactory { + + public static List<VectorTableElement> create(OntModel ontModel, List<Datapoint> datapoints) { + + OntClass vteClass = ontModel.getOntClass(VectorTableElement.RESOURCE_URI); + + Resource vteResource = ontModel.getOntResource(vteClass); + ExtendedIterator<Individual> vteIter = ontModel.listIndividuals(vteResource); + + Property dimValProperty = ontModel.getOntProperty(DimensionValue.PROPERTY_URI); + Property dimensionProperty = ontModel.getOntProperty(DimensionValue.DIMENSION_URI); + Property valueProperty = ontModel.getOntProperty(DimensionValue.VALUE_URI); + Property fromDatapointProperty = ontModel.getOntProperty(FromDatapoint.PROPERTY_URI); + Property toDatapointProperty = ontModel.getOntProperty(ToDatapoint.PROPERTY_URI); + + List<VectorTableElement> vteList = new ArrayList<VectorTableElement>(); + VectorTableElement vte; + DimensionValue dimVal; + + Individual vteIndividual; + StmtIterator dimValStmtIter; + StmtIterator fromDPStmtIter; + StmtIterator toDPStmtIter; + StmtIterator dimValDimensionStmtIter; + StmtIterator dimValValueStmtIter; + Statement fromDatapointStmt; + Statement toDatapointStmt; + Resource dimValResource; + Statement dimValDimensionStmt; + Statement dimValValueStmt; + Literal dimension; + Literal value; + + // Find all rdf VectorTableElements + while (vteIter.hasNext()) + { + vteIndividual = vteIter.next(); + System.out.println(vteIndividual.toString()); + vte = new VectorTableElement(); + vte.setResource(vteIndividual); + + // Find the 'fromDatapoint' for this VectorTableElement + fromDPStmtIter = ontModel.listStatements(vteIndividual, fromDatapointProperty, (RDFNode)null); + fromDatapointStmt = fromDPStmtIter.next(); + Datapoint fromDatapoint = findDatapoint(ontModel, datapoints, fromDatapointStmt.getResource()); + vte.setFromDatapoint(fromDatapoint); + + // Find the 'toDatapoint' for this VectorTableElement + toDPStmtIter = ontModel.listStatements(vteIndividual, toDatapointProperty, (RDFNode)null); + toDatapointStmt = toDPStmtIter.next(); + Datapoint toDatapoint = findDatapoint(ontModel, datapoints, toDatapointStmt.getResource()); + vte.setToDatapoint(toDatapoint); + + // Find all dimensionValues for this VectorTableElement + Vector<DimensionValue> dimensionValues = SiaDimensionValueFactory.getDimensionValuesForResource(ontModel, vteIndividual); + vte.setDimensionValues(dimensionValues); + + vteList.add(vte); + + } + return vteList; + } + + public static Datapoint findDatapoint(OntModel ontModel, List<Datapoint> datapoints, Resource resource) { + Iterator<Datapoint> datapointsIter = datapoints.iterator(); + Datapoint datapoint; + while (datapointsIter.hasNext()) + { + datapoint = datapointsIter.next(); + if (datapoint.getResource().getLocalName().equals(resource.getLocalName())) + return datapoint; + } + datapoint = new Datapoint(); + datapoint.setResource(resource); + Vector<DimensionValue> dimensionValues = SiaDimensionValueFactory.getDimensionValuesForResource(ontModel, resource); + datapoint.setDimensionValues(dimensionValues); + return datapoint; + } + + public static void assertOrder(OntModel ontModel, List<VectorTableElement> vteList) { + + Resource bnode = ontModel.createResource(AnonId.create()); + Resource siaOrderedSet = ontModel.createResource(OrderedSet.RESOURCE_URI); + + ontModel.add(bnode, RDF.type, siaOrderedSet); + + int numVectorTableElements = vteList.size(); + + VectorTableElement vte; + for (int orderedIndex = 0; orderedIndex < numVectorTableElements; orderedIndex++) + { + // Assert <bnode, rdf:type, sia:OrderedSet> + vte = vteList.get(orderedIndex); + Property memberOfOrderedSetProperty = ontModel.getProperty(MemberOfOrderedSet.PROPERTY_URI); + ontModel.add(vte.getResource(), memberOfOrderedSetProperty, bnode); + + if (orderedIndex < numVectorTableElements - 1) + { + // Assert <nextVectorTable, sia:directlyFollows, currentVectorTableElement> + VectorTableElement nextVte = vteList.get(orderedIndex + 1); + Property directlyFollowsProperty = ontModel.getProperty(DirectlyFollows.PROPERTY_URI); + ontModel.add(nextVte.getResource(), directlyFollowsProperty, vte.getResource()); + } + + // Assert <currentVectorTableElement, sia:orderedIndex, orderedIndex> + Property orderedIndexProperty = ontModel.getProperty(OrderedIndex.PROPERTY_URI); + ontModel.addLiteral(vte.getResource(), orderedIndexProperty, orderedIndex); + + } + + } + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/exceptions/DimensionException.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,15 @@ +package org.qmul.eecs.c4dm.sia.exceptions; + +public class DimensionException extends Exception { + + public DimensionException(String description) { + // TODO Auto-generated constructor stub + super(description); + } + + /** + * + */ + private static final long serialVersionUID = -3820412804966910012L; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/Datapoint.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,95 @@ +package org.qmul.eecs.c4dm.sia.model; + +import java.util.Iterator; +import java.util.Vector; + +import org.qmul.eecs.c4dm.sia.SiaMain; +import org.qmul.eecs.c4dm.sia.exceptions.DimensionException; + +import com.hp.hpl.jena.rdf.model.Resource; + +public class Datapoint extends NDimensionalObject implements Comparable { + + private Resource resource; + private int orderedIndex; + + public static final String RESOURCE_URI = SiaMain.SIA_NS_URI + "Datapoint"; + + /** + * @return the resource + */ + public Resource getResource() { + return resource; + } + + /** + * @param resource the node to set + */ + public void setResource(Resource resource) { + this.resource = resource; + } + + /** + * @return the orderedIndex + */ + public int getOrderedIndex() { + return orderedIndex; + } + + /** + * @param orderedIndex the orderedIndex to set + */ + public void setOrderedIndex(int orderedIndex) { + this.orderedIndex = orderedIndex; + } + + @Override + public int compareTo(Object o2) { + Datapoint datapoint2 = (Datapoint)o2; + + Vector<DimensionValue> datapoint2DimVals = datapoint2.getDimensionValues(); + + int datapoint2DimSize = datapoint2DimVals.size(); + + if (datapoint2DimSize != this.getDimensionValues().size()) + throw new ClassCastException("Datapoints have an unequal number of dimensions"); + + Iterator<DimensionValue> datapoint1DimValsIter = this.getDimensionValues().iterator(); + Iterator<DimensionValue> datapoint2DimValsIter = datapoint2DimVals.iterator(); + + DimensionValue datapoint1DimVal; + DimensionValue datapoint2DimVal; + + for (int dimension = 1; dimension <= datapoint2DimSize; dimension++) + { + double dimension1 = 0; + try { + dimension1 = this.getDimensionValue(dimension); + } catch (DimensionException e) { + // TODO Auto-generated catch block + System.out.println(e.getMessage()); + e.printStackTrace(); + } + double dimension2 = 0; + try { + dimension2 = datapoint2.getDimensionValue(dimension); + } catch (DimensionException e) { + // TODO Auto-generated catch block + System.out.println(e.getMessage()); + e.printStackTrace(); + } + + if (dimension1 < dimension2) + { + return -1; + } + else if (dimension1 > dimension2) + { + return 1; + } + } + + return 0; + } + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/DimensionValue.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,27 @@ +package org.qmul.eecs.c4dm.sia.model; + +import org.qmul.eecs.c4dm.sia.SiaMain; + +public class DimensionValue { + + private int dimension; + private double value; + + public static final String PROPERTY_URI = SiaMain.SIA_NS_URI + "dimVal"; + public static final String DIMENSION_URI = SiaMain.SIA_NS_URI + "dimension"; + public static final String VALUE_URI = SiaMain.SIA_NS_URI + "value"; + + public int getDimension() { + return dimension; + } + public void setDimension(int dimension) { + this.dimension = dimension; + } + public double getValue() { + return value; + } + public void setValue(double value) { + this.value = value; + } + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/DirectlyFollows.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,9 @@ +package org.qmul.eecs.c4dm.sia.model; + +import org.qmul.eecs.c4dm.sia.SiaMain; + +public class DirectlyFollows { + + public static final String PROPERTY_URI = SiaMain.SIA_NS_URI + "directlyFollows"; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/FromDatapoint.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,9 @@ +package org.qmul.eecs.c4dm.sia.model; + +import org.qmul.eecs.c4dm.sia.SiaMain; + +public class FromDatapoint { + + public static final String PROPERTY_URI = SiaMain.SIA_NS_URI + "fromDatapoint"; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/MemberOfOrderedSet.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,9 @@ +package org.qmul.eecs.c4dm.sia.model; + +import org.qmul.eecs.c4dm.sia.SiaMain; + +public class MemberOfOrderedSet { + + public static final String PROPERTY_URI = SiaMain.SIA_NS_URI + "memberOfOrderedSet"; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/NDimensionalObject.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,38 @@ +package org.qmul.eecs.c4dm.sia.model; + +import java.util.Vector; + +import org.qmul.eecs.c4dm.sia.exceptions.DimensionException; + +public class NDimensionalObject { + + private Vector<DimensionValue> dimensionValues; + + public NDimensionalObject() { + super(); + } + + /** + * @return the dimensionValue + */ + public Vector<DimensionValue> getDimensionValues() { + return dimensionValues; + } + + /** + * @param dimensionValue the dimensionValue to set + */ + public void setDimensionValues(Vector<DimensionValue> dimensionValues) { + this.dimensionValues = dimensionValues; + } + + public double getDimensionValue(int dimension) throws DimensionException { + for (DimensionValue dv : this.getDimensionValues()) + { + if (dv.getDimension() == dimension) + return dv.getValue(); + } + throw new DimensionException("No value for dimension " + dimension); + } + +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/OrderedIndex.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,9 @@ +package org.qmul.eecs.c4dm.sia.model; + +import org.qmul.eecs.c4dm.sia.SiaMain; + +public class OrderedIndex { + + public static final String PROPERTY_URI = SiaMain.SIA_NS_URI + "orderedIndex"; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/OrderedSet.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,9 @@ +package org.qmul.eecs.c4dm.sia.model; + +import org.qmul.eecs.c4dm.sia.SiaMain; + +public class OrderedSet { + + public static final String RESOURCE_URI = SiaMain.SIA_NS_URI + "OrderedSet"; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/ToDatapoint.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,9 @@ +package org.qmul.eecs.c4dm.sia.model; + +import org.qmul.eecs.c4dm.sia.SiaMain; + +public class ToDatapoint { + + public static final String PROPERTY_URI = SiaMain.SIA_NS_URI + "toDatapoint"; + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/VectorTableElement.java Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,125 @@ +package org.qmul.eecs.c4dm.sia.model; + +import java.util.Iterator; +import java.util.Vector; + +import org.qmul.eecs.c4dm.sia.SiaMain; +import org.qmul.eecs.c4dm.sia.exceptions.DimensionException; + +import com.hp.hpl.jena.rdf.model.Resource; + +/** + * @author stevenhargreaves + * + */ +public class VectorTableElement extends NDimensionalObject implements Comparable { + + private Datapoint fromDatapoint; + private Datapoint toDatapoint; + private Resource resource; + + public static final String RESOURCE_URI = SiaMain.SIA_NS_URI + "VectorTableElement"; + + /** + * @return + */ + public Resource getResource() { + return resource; + } + + /** + * @param resource + */ + public void setResource(Resource resource) { + this.resource = resource; + } + + /** + * @return + */ + public Datapoint getFromDatapoint() { + return fromDatapoint; + } + + /** + * @param fromDatapoint + */ + public void setFromDatapoint(Datapoint fromDatapoint) { + this.fromDatapoint = fromDatapoint; + } + + /** + * @return + */ + public Datapoint getToDatapoint() { + return toDatapoint; + } + + /** + * @param toDatapoint + */ + public void setToDatapoint(Datapoint toDatapoint) { + this.toDatapoint = toDatapoint; + } + + /* (non-Javadoc) + * @see java.lang.Comparable#compareTo(java.lang.Object) + */ + @Override + public int compareTo(Object o2) { + VectorTableElement vte2 = (VectorTableElement)o2; + + Vector<DimensionValue> vte2DimVals = vte2.getDimensionValues(); + + int vte2DimSize = vte2DimVals.size(); + + if (vte2DimSize != this.getDimensionValues().size()) + throw new ClassCastException("VectorTableElements have an unequal number of dimensions"); + + Iterator<DimensionValue> vte1DimValsIter = this.getDimensionValues().iterator(); + Iterator<DimensionValue> vte2DimValsIter = vte2DimVals.iterator(); + + DimensionValue vte1DimVal; + DimensionValue vte2DimVal; + + for (int dimension = 1; dimension <= vte2DimSize; dimension++) + { + double dimension1 = 0; + try { + dimension1 = this.getDimensionValue(dimension); + } catch (DimensionException e) { + System.out.println(e.getMessage()); + e.printStackTrace(); + System.exit(-1); + } + double dimension2 = 0; + try { + dimension2 = vte2.getDimensionValue(dimension); + } catch (DimensionException e) { + System.out.println(e.getMessage()); + e.printStackTrace(); + System.exit(-1); + } + + if (dimension1 < dimension2) + { + return -1; + } + else if (dimension1 > dimension2) + { + return 1; + } + } + + if (this.getFromDatapoint().getOrderedIndex() < vte2.getFromDatapoint().getOrderedIndex()) + { + return -1; + } + else if (this.getFromDatapoint().getOrderedIndex() > vte2.getFromDatapoint().getOrderedIndex()) + { + return 1; + } + return 0; + } + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/rdf/finalModel.n3 Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,678 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix abc: <http://example.org/abc#> . +@prefix sia: <http://example.org/sia#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . + +sia:toDatapoint + a owl:ObjectProperty ; + rdfs:subPropertyOf sia:toDatapoint , owl:topObjectProperty ; + owl:equivalentProperty + sia:toDatapoint ; + owl:propertyDisjointWith + owl:bottomObjectProperty . + +_:b1 a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 0.0e0 ; + = _:b1 . + +_:b2 a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b3 , _:b4 ; + sia:directlyFollows _:b5 ; + sia:follows _:b6 , _:b7 , _:b8 , _:b5 , _:b9 , _:b10 , _:b11 , _:b12 , _:b13 , _:b14 , _:b15 , _:b16 ; + sia:fromDatapoint sia:A ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "12"^^xsd:int ; + sia:precedes _:b18 , _:b19 ; + sia:toDatapoint sia:E ; + = _:b2 . + +sia:precedes + a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:domain sia:OrderableThing ; + rdfs:range sia:OrderableThing ; + rdfs:subPropertyOf sia:precedes , owl:topObjectProperty ; + owl:equivalentProperty + sia:precedes ; + owl:inverseOf sia:follows ; + owl:propertyDisjointWith + owl:bottomObjectProperty . + +_:b20 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b20 . + +_:b9 a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b21 , _:b22 ; + sia:directlyFollows _:b6 ; + sia:follows _:b6 , _:b10 , _:b12 , _:b13 ; + sia:fromDatapoint sia:B ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "4"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b7 , _:b8 , _:b5 , _:b11 , _:b19 , _:b14 , _:b15 , _:b16 ; + sia:toDatapoint sia:C ; + = _:b9 . + +sia:dvB2 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value "3"^^xsd:double ; + = sia:dvB2 . + +sia:F + a sia:Datapoint , sia:OrderableThing , owl:Thing ; + sia:dimVal sia:dvF2 , sia:dvF1 ; + sia:directlyFollows sia:E ; + sia:follows sia:A , sia:D , sia:E , sia:B , sia:C ; + sia:memberOfOrderedSet + _:b23 ; + sia:orderedIndex "5"^^xsd:int ; + = sia:F . + +sia:dvA2 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value "1"^^xsd:double ; + = sia:dvA2 . + +_:b24 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 0.0e0 ; + = _:b24 . + +sia:orderedIndex + a owl:DatatypeProperty ; + rdfs:subPropertyOf owl:topDataProperty , sia:orderedIndex ; + owl:equivalentProperty + sia:orderedIndex ; + owl:propertyDisjointWith + owl:bottomDataProperty . + +_:b13 + a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b25 , _:b24 ; + sia:directlyFollows _:b10 ; + sia:follows _:b10 , _:b12 ; + sia:fromDatapoint sia:A ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "2"^^xsd:int , 2 ; + sia:precedes _:b2 , _:b18 , _:b6 , _:b7 , _:b8 , _:b5 , _:b9 , _:b11 , _:b19 , _:b14 , _:b15 , _:b16 ; + sia:toDatapoint sia:B ; + = _:b13 . + +_:b7 a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b26 , _:b27 ; + sia:directlyFollows _:b9 ; + sia:follows _:b6 , _:b9 , _:b10 , _:b12 , _:b13 ; + sia:fromDatapoint sia:B ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "5"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b8 , _:b5 , _:b11 , _:b19 , _:b14 , _:b15 , _:b16 ; + sia:toDatapoint sia:D ; + = _:b7 . + +sia:dimVal + a owl:ObjectProperty ; + rdfs:range sia:DimensionValue ; + rdfs:subPropertyOf sia:dimVal , owl:topObjectProperty ; + owl:equivalentProperty + sia:dimVal ; + owl:propertyDisjointWith + owl:bottomObjectProperty . + +_:b28 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 0.0e0 ; + = _:b28 . + +_:b29 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 2.0e0 , "2"^^xsd:double ; + = _:b29 . + +_:b30 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value -1.0e0 ; + = _:b30 . + +_:b31 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b31 . + +sia:B + a sia:Datapoint , sia:OrderableThing , owl:Thing ; + sia:dimVal sia:dvB2 , sia:dvB1 ; + sia:directlyFollows sia:A ; + sia:follows sia:A ; + sia:memberOfOrderedSet + _:b23 ; + sia:orderedIndex "1"^^xsd:int , 1 ; + sia:precedes sia:D , sia:E , sia:F , sia:C ; + = sia:B . + +_:b32 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b32 . + +sia:DimensionValue + a owl:Class ; + rdfs:subClassOf owl:Thing ; + owl:disjointWith owl:Nothing ; + owl:equivalentClass sia:DimensionValue . + +_:b33 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 2.0e0 , "2"^^xsd:double ; + = _:b33 . + +sia:dvD1 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value "2"^^xsd:double ; + = sia:dvD1 . + +_:b34 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b34 . + +_:b5 a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b35 , _:b36 ; + sia:directlyFollows _:b8 ; + sia:follows _:b6 , _:b7 , _:b8 , _:b9 , _:b10 , _:b11 , _:b12 , _:b13 , _:b14 , _:b15 , _:b16 ; + sia:fromDatapoint sia:C ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "11"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b19 ; + sia:toDatapoint sia:F ; + = _:b5 . + +_:b10 + a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b28 , _:b37 ; + sia:directlyFollows _:b12 ; + sia:follows _:b12 ; + sia:fromDatapoint sia:D ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "1"^^xsd:int , 1 ; + sia:precedes _:b2 , _:b18 , _:b8 , _:b5 , _:b9 , _:b19 , _:b11 , _:b13 , _:b15 , _:b6 , _:b7 , _:b14 , _:b16 ; + sia:toDatapoint sia:E ; + = _:b10 . + +sia:follows + a owl:TransitiveProperty , owl:ObjectProperty ; + rdfs:domain sia:OrderableThing ; + rdfs:range sia:OrderableThing ; + rdfs:subPropertyOf sia:follows , owl:topObjectProperty ; + owl:equivalentProperty + sia:follows ; + owl:inverseOf sia:precedes ; + owl:propertyDisjointWith + owl:bottomObjectProperty . + +sia:OrderedSet + a owl:Class ; + rdfs:subClassOf owl:Thing ; + owl:disjointWith owl:Nothing ; + owl:equivalentClass sia:OrderedSet . + +_:b19 + a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b30 , _:b38 ; + sia:directlyFollows _:b2 ; + sia:follows _:b2 , _:b8 , _:b5 , _:b9 , _:b10 , _:b11 , _:b12 , _:b13 , _:b15 , _:b6 , _:b7 , _:b14 , _:b16 ; + sia:fromDatapoint sia:B ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "13"^^xsd:int ; + sia:precedes _:b18 ; + sia:toDatapoint sia:F ; + = _:b19 . + +sia:dvE1 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value "2"^^xsd:double ; + = sia:dvE1 . + +_:b15 + a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b39 , _:b40 ; + sia:directlyFollows _:b14 ; + sia:follows _:b6 , _:b7 , _:b9 , _:b10 , _:b12 , _:b13 , _:b14 ; + sia:fromDatapoint sia:A ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "7"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b8 , _:b5 , _:b11 , _:b19 , _:b16 ; + sia:toDatapoint sia:C ; + = _:b15 . + +_:b6 a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b29 , _:b41 ; + sia:directlyFollows _:b13 ; + sia:follows _:b10 , _:b12 , _:b13 ; + sia:fromDatapoint sia:C ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "3"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b7 , _:b8 , _:b5 , _:b9 , _:b11 , _:b19 , _:b14 , _:b15 , _:b16 ; + sia:toDatapoint sia:E ; + = _:b6 . + +sia:dvC2 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value "1"^^xsd:double ; + = sia:dvC2 . + +_:b25 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 2.0e0 , "2"^^xsd:double ; + = _:b25 . + +owl:Thing + a owl:Class ; + owl:complementOf owl:Nothing ; + owl:disjointWith owl:Nothing ; + owl:equivalentClass owl:Thing . + +_:b26 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b26 . + +sia:fromDatapoint + a owl:ObjectProperty ; + rdfs:subPropertyOf sia:fromDatapoint , owl:topObjectProperty ; + owl:equivalentProperty + sia:fromDatapoint ; + owl:propertyDisjointWith + owl:bottomObjectProperty . + +_:b35 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b35 . + +_:b38 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 2.0e0 , "2"^^xsd:double ; + = _:b38 . + +sia:dvF1 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value "3"^^xsd:double ; + = sia:dvF1 . + +sia:C + a sia:Datapoint , sia:OrderableThing , owl:Thing ; + sia:dimVal sia:dvC2 , sia:dvC1 ; + sia:directlyFollows sia:B ; + sia:follows sia:A , sia:B ; + sia:memberOfOrderedSet + _:b23 ; + sia:orderedIndex "2"^^xsd:int , 2 ; + sia:precedes sia:D , sia:E , sia:F ; + = sia:C . + +_:b42 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value -1.0e0 ; + = _:b42 . + +_:b37 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b37 . + +sia:dvD2 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value "2"^^xsd:double ; + = sia:dvD2 . + +sia:Datapoint + a owl:Class ; + rdfs:subClassOf sia:OrderableThing , owl:Thing ; + owl:disjointWith owl:Nothing ; + owl:equivalentClass sia:Datapoint . + +_:b8 a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b20 , _:b43 ; + sia:directlyFollows _:b16 ; + sia:follows _:b6 , _:b7 , _:b9 , _:b10 , _:b11 , _:b12 , _:b13 , _:b14 , _:b15 , _:b16 ; + sia:fromDatapoint sia:A ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "10"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b5 , _:b19 ; + sia:toDatapoint sia:D ; + = _:b8 . + +_:b3 a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b3 . + +sia:D + a sia:Datapoint , sia:OrderableThing , owl:Thing ; + sia:dimVal sia:dvD1 , sia:dvD2 ; + sia:directlyFollows sia:C ; + sia:follows sia:A , sia:B , sia:C ; + sia:memberOfOrderedSet + _:b23 ; + sia:orderedIndex "3"^^xsd:int ; + sia:precedes sia:E , sia:F ; + = sia:D . + +sia:value + a owl:DatatypeProperty ; + rdfs:subPropertyOf sia:value , owl:topDataProperty ; + owl:equivalentProperty + sia:value ; + owl:propertyDisjointWith + owl:bottomDataProperty . + +sia:dimension + a owl:DatatypeProperty ; + rdfs:subPropertyOf owl:topDataProperty , sia:dimension ; + owl:equivalentProperty + sia:dimension ; + owl:propertyDisjointWith + owl:bottomDataProperty . + +_:b11 + a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b44 , _:b32 ; + sia:directlyFollows _:b15 ; + sia:follows _:b6 , _:b7 , _:b9 , _:b10 , _:b12 , _:b13 , _:b14 , _:b15 ; + sia:fromDatapoint sia:B ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "8"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b8 , _:b5 , _:b19 , _:b16 ; + sia:toDatapoint sia:E ; + = _:b11 . + +sia:dvE2 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value "3"^^xsd:double ; + = sia:dvE2 . + +_:b45 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b45 . + +sia:memberOfOrderedSet + a owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty , sia:memberOfOrderedSet ; + owl:equivalentProperty + sia:memberOfOrderedSet ; + owl:propertyDisjointWith + owl:bottomObjectProperty . + +_:b36 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b36 . + +_:b22 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b22 . + +sia:directlyFollows + a owl:ObjectProperty ; + rdfs:domain sia:OrderableThing ; + rdfs:range sia:OrderableThing ; + rdfs:subPropertyOf sia:directlyFollows , sia:follows , owl:topObjectProperty ; + owl:equivalentProperty + sia:directlyFollows ; + owl:propertyDisjointWith + owl:bottomObjectProperty . + +_:b44 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 0.0e0 ; + = _:b44 . + +sia:OrderableThing + a owl:Class ; + rdfs:subClassOf owl:Thing ; + owl:disjointWith owl:Nothing ; + owl:equivalentClass sia:OrderableThing . + +_:b39 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 0.0e0 ; + = _:b39 . + +owl:bottomObjectProperty + a owl:ObjectProperty , owl:IrreflexiveProperty , owl:AsymmetricProperty , owl:SymmetricProperty ; + rdfs:domain sia:OrderableThing , sia:DimensionValue ; + rdfs:range sia:OrderableThing , sia:DimensionValue ; + rdfs:subPropertyOf sia:toDatapoint , sia:directlyFollows , sia:precedes , sia:dimVal , owl:bottomObjectProperty , sia:fromDatapoint , sia:follows , owl:topObjectProperty , sia:memberOfOrderedSet ; + owl:equivalentProperty + owl:bottomObjectProperty ; + owl:propertyDisjointWith + sia:toDatapoint , sia:directlyFollows , sia:precedes , sia:dimVal , owl:bottomObjectProperty , sia:fromDatapoint , sia:follows , owl:topObjectProperty , sia:memberOfOrderedSet . + +sia:dvC1 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value "2"^^xsd:double ; + = sia:dvC1 . + +sia:dvF2 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value "2"^^xsd:double ; + = sia:dvF2 . + +owl:topDataProperty + a owl:DatatypeProperty ; + rdfs:subPropertyOf owl:topDataProperty ; + owl:equivalentProperty + owl:topDataProperty ; + owl:propertyDisjointWith + owl:bottomDataProperty . + +owl:topObjectProperty + a owl:TransitiveProperty , owl:ObjectProperty , owl:SymmetricProperty , owl:ReflexiveProperty ; + rdfs:subPropertyOf owl:topObjectProperty ; + owl:equivalentProperty + owl:topObjectProperty ; + owl:propertyDisjointWith + owl:bottomObjectProperty . + +_:b41 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 0.0e0 ; + = _:b41 . + +_:b4 a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 2.0e0 , "2"^^xsd:double ; + = _:b4 . + +owl:Nothing + a owl:Class ; + rdfs:subClassOf sia:Datapoint , sia:OrderableThing , owl:Thing , sia:OrderedSet , sia:VectorTableElement , sia:DimensionValue ; + owl:complementOf owl:Thing ; + owl:disjointWith sia:Datapoint , sia:OrderableThing , owl:Thing , sia:OrderedSet , sia:VectorTableElement , sia:DimensionValue , owl:Nothing ; + owl:equivalentClass owl:Nothing . + +_:b16 + a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b1 , _:b45 ; + sia:directlyFollows _:b11 ; + sia:follows _:b6 , _:b7 , _:b9 , _:b10 , _:b11 , _:b12 , _:b13 , _:b14 , _:b15 ; + sia:fromDatapoint sia:D ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "9"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b8 , _:b5 , _:b19 ; + sia:toDatapoint sia:F ; + = _:b16 . + +_:b18 + a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b33 , _:b31 ; + sia:directlyFollows _:b19 ; + sia:follows _:b2 , _:b8 , _:b5 , _:b9 , _:b10 , _:b19 , _:b11 , _:b12 , _:b13 , _:b15 , _:b6 , _:b7 , _:b14 , _:b16 ; + sia:fromDatapoint sia:A ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "14"^^xsd:int ; + sia:toDatapoint sia:F ; + = _:b18 . + +_:b23 + a owl:Thing , sia:OrderedSet ; + = _:b23 . + +sia:E + a sia:Datapoint , sia:OrderableThing , owl:Thing ; + sia:dimVal sia:dvE2 , sia:dvE1 ; + sia:directlyFollows sia:D ; + sia:follows sia:A , sia:D , sia:B , sia:C ; + sia:memberOfOrderedSet + _:b23 ; + sia:orderedIndex "4"^^xsd:int ; + sia:precedes sia:F ; + = sia:E . + +_:b21 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value -2.0e0 ; + = _:b21 . + +sia:dvB1 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value "1"^^xsd:double ; + = sia:dvB1 . + +_:b12 + a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b46 , _:b47 ; + sia:fromDatapoint sia:C ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "0"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b8 , _:b5 , _:b9 , _:b10 , _:b19 , _:b11 , _:b13 , _:b15 , _:b6 , _:b7 , _:b14 , _:b16 ; + sia:toDatapoint sia:D ; + = _:b12 . + +_:b40 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b40 . + +_:b27 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value -1.0e0 ; + = _:b27 . + +owl:bottomDataProperty + a owl:DatatypeProperty ; + rdfs:subPropertyOf sia:value , owl:topDataProperty , sia:dimension , sia:orderedIndex , owl:bottomDataProperty ; + owl:equivalentProperty + owl:bottomDataProperty ; + owl:propertyDisjointWith + sia:value , owl:topDataProperty , sia:dimension , sia:orderedIndex , owl:bottomDataProperty . + +sia:dvA1 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value "1"^^xsd:double ; + = sia:dvA1 . + +sia:A + a sia:Datapoint , sia:OrderableThing , owl:Thing ; + sia:dimVal sia:dvA2 , sia:dvA1 ; + sia:memberOfOrderedSet + _:b23 ; + sia:orderedIndex "0"^^xsd:int ; + sia:precedes sia:D , sia:E , sia:F , sia:B , sia:C ; + = sia:A . + +_:b17 + a owl:Thing , sia:OrderedSet ; + = _:b17 . + +_:b46 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 0.0e0 ; + = _:b46 . + +_:b43 + a owl:Thing , sia:DimensionValue ; + sia:dimension 1 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b43 . + +sia:VectorTableElement + a owl:Class ; + rdfs:subClassOf owl:Thing ; + owl:disjointWith owl:Nothing ; + owl:equivalentClass sia:VectorTableElement . + +_:b14 + a sia:OrderableThing , owl:Thing , sia:VectorTableElement ; + sia:dimVal _:b34 , _:b42 ; + sia:directlyFollows _:b7 ; + sia:follows _:b6 , _:b7 , _:b9 , _:b10 , _:b12 , _:b13 ; + sia:fromDatapoint sia:E ; + sia:memberOfOrderedSet + _:b17 ; + sia:orderedIndex "6"^^xsd:int ; + sia:precedes _:b2 , _:b18 , _:b8 , _:b5 , _:b11 , _:b19 , _:b15 , _:b16 ; + sia:toDatapoint sia:F ; + = _:b14 . + +_:b47 + a owl:Thing , sia:DimensionValue ; + sia:dimension 2 ; + sia:value 1.0e0 , "1"^^xsd:double ; + = _:b47 .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/rdf/finalModel.rdf Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,1029 @@ +<rdf:RDF + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:abc="http://example.org/abc#" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#" + xmlns:sia="http://example.org/sia#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" > + <rdf:Description rdf:about="http://example.org/sia#toDatapoint"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#toDatapoint"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#toDatapoint"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A0"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A0"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A1"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A1"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">12</sia:orderedIndex> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A5"/> + <sia:follows rdf:nodeID="A6"/> + <sia:follows rdf:nodeID="A7"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A9"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A11"/> + <sia:follows rdf:nodeID="A12"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:follows rdf:nodeID="A16"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#A"/> + <sia:directlyFollows rdf:nodeID="A12"/> + <sia:dimVal rdf:nodeID="A17"/> + <sia:dimVal rdf:nodeID="A18"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#E"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#precedes"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#precedes"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#precedes"/> + <owl:inverseOf rdf:resource="http://example.org/sia#follows"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + <rdfs:domain rdf:resource="http://example.org/sia#OrderableThing"/> + <rdfs:range rdf:resource="http://example.org/sia#OrderableThing"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A19"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A19"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A8"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A8"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">4</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A7"/> + <sia:precedes rdf:nodeID="A6"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A9"/> + <sia:precedes rdf:nodeID="A11"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:precedes rdf:nodeID="A16"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#B"/> + <sia:directlyFollows rdf:nodeID="A10"/> + <sia:dimVal rdf:nodeID="A20"/> + <sia:dimVal rdf:nodeID="A21"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#C"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvB2"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvB2"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">3</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#F"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#Datapoint"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#F"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">5</sia:orderedIndex> + <sia:memberOfOrderedSet rdf:nodeID="A22"/> + <sia:follows rdf:resource="http://example.org/sia#A"/> + <sia:follows rdf:resource="http://example.org/sia#B"/> + <sia:follows rdf:resource="http://example.org/sia#E"/> + <sia:follows rdf:resource="http://example.org/sia#C"/> + <sia:follows rdf:resource="http://example.org/sia#D"/> + <sia:directlyFollows rdf:resource="http://example.org/sia#E"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvF1"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvF2"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvA2"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvA2"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A23"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A23"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#orderedIndex"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#orderedIndex"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#orderedIndex"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomDataProperty"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A15"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A15"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A7"/> + <sia:precedes rdf:nodeID="A6"/> + <sia:precedes rdf:nodeID="A8"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A9"/> + <sia:precedes rdf:nodeID="A11"/> + <sia:precedes rdf:nodeID="A10"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:precedes rdf:nodeID="A16"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#A"/> + <sia:directlyFollows rdf:nodeID="A14"/> + <sia:dimVal rdf:nodeID="A23"/> + <sia:dimVal rdf:nodeID="A24"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#B"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">2</sia:orderedIndex> + </rdf:Description> + <rdf:Description rdf:nodeID="A16"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A16"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">5</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A7"/> + <sia:precedes rdf:nodeID="A6"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A9"/> + <sia:precedes rdf:nodeID="A11"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#B"/> + <sia:directlyFollows rdf:nodeID="A8"/> + <sia:dimVal rdf:nodeID="A25"/> + <sia:dimVal rdf:nodeID="A26"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#D"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dimVal"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#dimVal"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#dimVal"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + <rdfs:range rdf:resource="http://example.org/sia#DimensionValue"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A27"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A27"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A28"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A28"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A29"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A29"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">-1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A30"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A30"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#B"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#Datapoint"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#B"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:orderedIndex> + <sia:precedes rdf:resource="http://example.org/sia#E"/> + <sia:precedes rdf:resource="http://example.org/sia#C"/> + <sia:precedes rdf:resource="http://example.org/sia#D"/> + <sia:precedes rdf:resource="http://example.org/sia#F"/> + <sia:memberOfOrderedSet rdf:nodeID="A22"/> + <sia:follows rdf:resource="http://example.org/sia#A"/> + <sia:directlyFollows rdf:resource="http://example.org/sia#A"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvB2"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvB1"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</sia:orderedIndex> + </rdf:Description> + <rdf:Description rdf:nodeID="A31"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A31"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#DimensionValue"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:equivalentClass rdf:resource="http://example.org/sia#DimensionValue"/> + <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A32"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A32"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvD1"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvD1"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A33"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A33"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A12"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A12"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">11</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A5"/> + <sia:follows rdf:nodeID="A6"/> + <sia:follows rdf:nodeID="A7"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A9"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A11"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:follows rdf:nodeID="A16"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#C"/> + <sia:directlyFollows rdf:nodeID="A5"/> + <sia:dimVal rdf:nodeID="A34"/> + <sia:dimVal rdf:nodeID="A35"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#F"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A14"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A14"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A7"/> + <sia:precedes rdf:nodeID="A6"/> + <sia:precedes rdf:nodeID="A8"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A9"/> + <sia:precedes rdf:nodeID="A11"/> + <sia:precedes rdf:nodeID="A10"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:precedes rdf:nodeID="A16"/> + <sia:precedes rdf:nodeID="A15"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A13"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#D"/> + <sia:directlyFollows rdf:nodeID="A13"/> + <sia:dimVal rdf:nodeID="A36"/> + <sia:dimVal rdf:nodeID="A27"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#E"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1</sia:orderedIndex> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#follows"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#follows"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#follows"/> + <owl:inverseOf rdf:resource="http://example.org/sia#precedes"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + <rdfs:domain rdf:resource="http://example.org/sia#OrderableThing"/> + <rdfs:range rdf:resource="http://example.org/sia#OrderableThing"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#OrderedSet"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:equivalentClass rdf:resource="http://example.org/sia#OrderedSet"/> + <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A2"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A2"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">13</sia:orderedIndex> + <sia:precedes rdf:nodeID="A3"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A5"/> + <sia:follows rdf:nodeID="A1"/> + <sia:follows rdf:nodeID="A6"/> + <sia:follows rdf:nodeID="A7"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A9"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A11"/> + <sia:follows rdf:nodeID="A12"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:follows rdf:nodeID="A16"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#B"/> + <sia:directlyFollows rdf:nodeID="A1"/> + <sia:dimVal rdf:nodeID="A37"/> + <sia:dimVal rdf:nodeID="A29"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#F"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvE1"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvE1"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A9"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A9"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">7</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A7"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A11"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A6"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:follows rdf:nodeID="A16"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#A"/> + <sia:directlyFollows rdf:nodeID="A6"/> + <sia:dimVal rdf:nodeID="A38"/> + <sia:dimVal rdf:nodeID="A39"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#C"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A10"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A10"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">3</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A7"/> + <sia:precedes rdf:nodeID="A6"/> + <sia:precedes rdf:nodeID="A8"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A9"/> + <sia:precedes rdf:nodeID="A11"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:precedes rdf:nodeID="A16"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#C"/> + <sia:directlyFollows rdf:nodeID="A15"/> + <sia:dimVal rdf:nodeID="A28"/> + <sia:dimVal rdf:nodeID="A40"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#E"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvC2"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvC2"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A24"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A24"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Thing"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + <owl:equivalentClass rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:complementOf rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> + <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A25"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A25"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#fromDatapoint"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#fromDatapoint"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#fromDatapoint"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A35"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A35"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A37"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A37"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvF1"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvF1"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">3</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#C"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#Datapoint"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#C"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:orderedIndex> + <sia:precedes rdf:resource="http://example.org/sia#E"/> + <sia:precedes rdf:resource="http://example.org/sia#D"/> + <sia:precedes rdf:resource="http://example.org/sia#F"/> + <sia:memberOfOrderedSet rdf:nodeID="A22"/> + <sia:follows rdf:resource="http://example.org/sia#A"/> + <sia:follows rdf:resource="http://example.org/sia#B"/> + <sia:directlyFollows rdf:resource="http://example.org/sia#B"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvC1"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvC2"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">2</sia:orderedIndex> + </rdf:Description> + <rdf:Description rdf:nodeID="A41"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A41"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">-1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A36"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A36"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvD2"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvD2"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#Datapoint"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + <rdfs:subClassOf rdf:resource="http://example.org/sia#OrderableThing"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:equivalentClass rdf:resource="http://example.org/sia#Datapoint"/> + <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A5"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A5"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">10</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A6"/> + <sia:follows rdf:nodeID="A7"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A9"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A11"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:follows rdf:nodeID="A16"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#A"/> + <sia:directlyFollows rdf:nodeID="A7"/> + <sia:dimVal rdf:nodeID="A42"/> + <sia:dimVal rdf:nodeID="A19"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#D"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A18"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A18"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#D"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#Datapoint"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#D"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">3</sia:orderedIndex> + <sia:precedes rdf:resource="http://example.org/sia#E"/> + <sia:precedes rdf:resource="http://example.org/sia#F"/> + <sia:memberOfOrderedSet rdf:nodeID="A22"/> + <sia:follows rdf:resource="http://example.org/sia#A"/> + <sia:follows rdf:resource="http://example.org/sia#B"/> + <sia:follows rdf:resource="http://example.org/sia#C"/> + <sia:directlyFollows rdf:resource="http://example.org/sia#C"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvD1"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvD2"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#value"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#value"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#value"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomDataProperty"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dimension"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#dimension"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#dimension"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomDataProperty"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A11"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A11"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">8</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A7"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A6"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A9"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:follows rdf:nodeID="A16"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#B"/> + <sia:directlyFollows rdf:nodeID="A9"/> + <sia:dimVal rdf:nodeID="A31"/> + <sia:dimVal rdf:nodeID="A43"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#E"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvE2"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvE2"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">3</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A44"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A44"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#memberOfOrderedSet"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#memberOfOrderedSet"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#memberOfOrderedSet"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A34"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A34"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A20"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A20"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#directlyFollows"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#follows"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#directlyFollows"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <owl:equivalentProperty rdf:resource="http://example.org/sia#directlyFollows"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + <rdfs:domain rdf:resource="http://example.org/sia#OrderableThing"/> + <rdfs:range rdf:resource="http://example.org/sia#OrderableThing"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A43"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A43"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#OrderableThing"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:equivalentClass rdf:resource="http://example.org/sia#OrderableThing"/> + <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A38"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A38"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#bottomObjectProperty"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AsymmetricProperty"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#IrreflexiveProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#precedes"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#fromDatapoint"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#follows"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#directlyFollows"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#dimVal"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#toDatapoint"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#memberOfOrderedSet"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + <owl:equivalentProperty rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#fromDatapoint"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#follows"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#precedes"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#directlyFollows"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#dimVal"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#toDatapoint"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#memberOfOrderedSet"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + <rdfs:domain rdf:resource="http://example.org/sia#DimensionValue"/> + <rdfs:domain rdf:resource="http://example.org/sia#OrderableThing"/> + <rdfs:range rdf:resource="http://example.org/sia#DimensionValue"/> + <rdfs:range rdf:resource="http://example.org/sia#OrderableThing"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvC1"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvC1"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvF2"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvF2"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#topDataProperty"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + <owl:equivalentProperty rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomDataProperty"/> + </rdf:Description> + <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#topObjectProperty"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#SymmetricProperty"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ReflexiveProperty"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <owl:equivalentProperty rdf:resource="http://www.w3.org/2002/07/owl#topObjectProperty"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomObjectProperty"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A40"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A40"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A17"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A17"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Nothing"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + <rdfs:subClassOf rdf:resource="http://example.org/sia#DimensionValue"/> + <rdfs:subClassOf rdf:resource="http://example.org/sia#OrderableThing"/> + <rdfs:subClassOf rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdfs:subClassOf rdf:resource="http://example.org/sia#Datapoint"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdfs:subClassOf rdf:resource="http://example.org/sia#OrderedSet"/> + <owl:equivalentClass rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> + <owl:complementOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:disjointWith rdf:resource="http://example.org/sia#DimensionValue"/> + <owl:disjointWith rdf:resource="http://example.org/sia#OrderableThing"/> + <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> + <owl:disjointWith rdf:resource="http://example.org/sia#VectorTableElement"/> + <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:disjointWith rdf:resource="http://example.org/sia#Datapoint"/> + <owl:disjointWith rdf:resource="http://example.org/sia#OrderedSet"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A7"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A7"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">9</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A6"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A9"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A11"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:follows rdf:nodeID="A16"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#D"/> + <sia:directlyFollows rdf:nodeID="A11"/> + <sia:dimVal rdf:nodeID="A44"/> + <sia:dimVal rdf:nodeID="A0"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#F"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A3"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A3"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">14</sia:orderedIndex> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A6"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A2"/> + <sia:follows rdf:nodeID="A9"/> + <sia:follows rdf:nodeID="A11"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A15"/> + <sia:follows rdf:nodeID="A1"/> + <sia:follows rdf:nodeID="A5"/> + <sia:follows rdf:nodeID="A7"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A12"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A16"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#A"/> + <sia:directlyFollows rdf:nodeID="A2"/> + <sia:dimVal rdf:nodeID="A30"/> + <sia:dimVal rdf:nodeID="A32"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#F"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A22"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdf:type rdf:resource="http://example.org/sia#OrderedSet"/> + <owl:sameAs rdf:nodeID="A22"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#E"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#Datapoint"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#E"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">4</sia:orderedIndex> + <sia:precedes rdf:resource="http://example.org/sia#F"/> + <sia:memberOfOrderedSet rdf:nodeID="A22"/> + <sia:follows rdf:resource="http://example.org/sia#A"/> + <sia:follows rdf:resource="http://example.org/sia#B"/> + <sia:follows rdf:resource="http://example.org/sia#C"/> + <sia:follows rdf:resource="http://example.org/sia#D"/> + <sia:directlyFollows rdf:resource="http://example.org/sia#D"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvE2"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvE1"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A21"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A21"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">-2.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvB1"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvB1"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A13"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A13"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">0</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A7"/> + <sia:precedes rdf:nodeID="A6"/> + <sia:precedes rdf:nodeID="A8"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A9"/> + <sia:precedes rdf:nodeID="A11"/> + <sia:precedes rdf:nodeID="A10"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:precedes rdf:nodeID="A16"/> + <sia:precedes rdf:nodeID="A15"/> + <sia:precedes rdf:nodeID="A14"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#C"/> + <sia:dimVal rdf:nodeID="A45"/> + <sia:dimVal rdf:nodeID="A46"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#D"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A39"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A39"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A26"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A26"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">-1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://www.w3.org/2002/07/owl#bottomDataProperty"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#orderedIndex"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#dimension"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + <rdfs:subPropertyOf rdf:resource="http://example.org/sia#value"/> + <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#bottomDataProperty"/> + <owl:equivalentProperty rdf:resource="http://www.w3.org/2002/07/owl#bottomDataProperty"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#orderedIndex"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#dimension"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/> + <owl:propertyDisjointWith rdf:resource="http://example.org/sia#value"/> + <owl:propertyDisjointWith rdf:resource="http://www.w3.org/2002/07/owl#bottomDataProperty"/> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#dvA1"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#dvA1"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#A"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#Datapoint"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:resource="http://example.org/sia#A"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">0</sia:orderedIndex> + <sia:precedes rdf:resource="http://example.org/sia#E"/> + <sia:precedes rdf:resource="http://example.org/sia#B"/> + <sia:precedes rdf:resource="http://example.org/sia#C"/> + <sia:precedes rdf:resource="http://example.org/sia#D"/> + <sia:precedes rdf:resource="http://example.org/sia#F"/> + <sia:memberOfOrderedSet rdf:nodeID="A22"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvA1"/> + <sia:dimVal rdf:resource="http://example.org/sia#dvA2"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A4"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <rdf:type rdf:resource="http://example.org/sia#OrderedSet"/> + <owl:sameAs rdf:nodeID="A4"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A46"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A46"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:nodeID="A42"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A42"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> + <rdf:Description rdf:about="http://example.org/sia#VectorTableElement"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/> + <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:equivalentClass rdf:resource="http://example.org/sia#VectorTableElement"/> + <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A6"> + <rdf:type rdf:resource="http://example.org/sia#OrderableThing"/> + <rdf:type rdf:resource="http://example.org/sia#VectorTableElement"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A6"/> + <sia:orderedIndex rdf:datatype="http://www.w3.org/2001/XMLSchema#int">6</sia:orderedIndex> + <sia:precedes rdf:nodeID="A1"/> + <sia:precedes rdf:nodeID="A5"/> + <sia:precedes rdf:nodeID="A7"/> + <sia:precedes rdf:nodeID="A2"/> + <sia:precedes rdf:nodeID="A9"/> + <sia:precedes rdf:nodeID="A11"/> + <sia:precedes rdf:nodeID="A12"/> + <sia:precedes rdf:nodeID="A3"/> + <sia:memberOfOrderedSet rdf:nodeID="A4"/> + <sia:follows rdf:nodeID="A8"/> + <sia:follows rdf:nodeID="A10"/> + <sia:follows rdf:nodeID="A13"/> + <sia:follows rdf:nodeID="A14"/> + <sia:follows rdf:nodeID="A15"/> + <sia:follows rdf:nodeID="A16"/> + <sia:fromDatapoint rdf:resource="http://example.org/sia#E"/> + <sia:directlyFollows rdf:nodeID="A16"/> + <sia:dimVal rdf:nodeID="A41"/> + <sia:dimVal rdf:nodeID="A33"/> + <sia:toDatapoint rdf:resource="http://example.org/sia#F"/> + </rdf:Description> + <rdf:Description rdf:nodeID="A45"> + <rdf:type rdf:resource="http://example.org/sia#DimensionValue"/> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + <owl:sameAs rdf:nodeID="A45"/> + <sia:dimension rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2</sia:dimension> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</sia:value> + <sia:value rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1.0e0</sia:value> + </rdf:Description> +</rdf:RDF>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/rdf/siaDatapointOntology.n3 Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,82 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix abc: <http://example.org/abc#> . +@prefix sia: <http://example.org/sia#> . + +sia:OrderableThing a owl:Class. +sia:Datapoint rdfs:subClassOf sia:OrderableThing. +sia:DimensionValue a owl:Class . + +sia:dimVal rdfs:range sia:DimensionValue . + +sia:follows rdfs:range sia:OrderableThing . +sia:follows rdfs:domain sia:OrderableThing . +sia:precedes owl:inverseOf sia:follows . + +sia:follows rdf:type owl:TransitiveProperty . +sia:directlyFollows rdfs:subPropertyOf sia:follows . + +# The data + +sia:A sia:dimVal sia:dvA1; + sia:dimVal sia:dvA2; + a sia:Datapoint . + +sia:dvA1 sia:dimension "1"^^xsd:integer; + sia:value "1"^^xsd:double. + +sia:dvA2 sia:dimension "2"^^xsd:integer; + sia:value "1"^^xsd:double. + +sia:B sia:dimVal sia:dvB1; + sia:dimVal sia:dvB2; + a sia:Datapoint . + +sia:dvB1 sia:dimension "1"^^xsd:integer; + sia:value "1"^^xsd:double. + +sia:dvB2 sia:dimension "2"^^xsd:integer; + sia:value "3"^^xsd:double. + +sia:C sia:dimVal sia:dvC1; + sia:dimVal sia:dvC2; + a sia:Datapoint . + +sia:dvC1 sia:dimension "1"^^xsd:integer; + sia:value "2"^^xsd:double. + +sia:dvC2 sia:dimension "2"^^xsd:integer; + sia:value "1"^^xsd:double. + +sia:D sia:dimVal sia:dvD1; + sia:dimVal sia:dvD2; + a sia:Datapoint . + +sia:dvD1 sia:dimension "1"^^xsd:integer; + sia:value "2"^^xsd:double. + +sia:dvD2 sia:dimension "2"^^xsd:integer; + sia:value "2"^^xsd:double. + +sia:E sia:dimVal sia:dvE1; + sia:dimVal sia:dvE2; + a sia:Datapoint . + +sia:dvE1 sia:dimension "1"^^xsd:integer; + sia:value "2"^^xsd:double. + +sia:dvE2 sia:dimension "2"^^xsd:integer; + sia:value "3"^^xsd:double. + +sia:F sia:dimVal sia:dvF1; + sia:dimVal sia:dvF2; + a sia:Datapoint . + +sia:dvF1 sia:dimension "1"^^xsd:integer; + sia:value "3"^^xsd:double. + +sia:dvF2 sia:dimension "2"^^xsd:integer; + sia:value "2"^^xsd:double. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/rules/functor_example.rules Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,19 @@ +@prefix sia: <http://example.org/sia#>. + +[allID: +(?C rdf:type owl:Restriction), (?C owl:onProperty ?P), +(?C owl:allValuesFrom ?D) +-> +(?C owl:equivalentClass all(?P, ?D)) +] + +[all2: (?C rdfs:subClassOf all(?P, ?D)) -> print('Rule for ', ?C) + [all1b: (?Y rdf:type ?D) <- (?X ?P ?Y), (?X rdf:type ?C) ] ] + +[all3: +(?S owl:owl:equivalentClass all(?P, ?D)) +makeTemp(?blankNode) +-> +(?P rdf:type sia:MyP), +(?D rdf:type sia:MyD) +] \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sparql/ask.sparql Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,10 @@ +PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> +PREFIX abc:<http://example.org/abc#> +PREFIX sia:<http://example.org/sia#> +PREFIX xsd:<http://www.w3.org/2001/XMLSchema#> +PREFIX owl:<http://www.w3.org/2002/07/owl#> +PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> + +ASK { + sia:E sia:directlyFollows sia:D . +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sparql/construct_vector_table_bnodes.sparql Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,21 @@ +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX owl: <http://www.w3.org/2002/07/owl#> +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> +PREFIX abc: <http://example.org/abc#> +PREFIX seq: <http://example.org/seq#> +PREFIX sia: <http://example.org/sia#> + +CONSTRUCT { _:vte rdf:type sia:VectorTableElement; + sia:fromDatapoint ?datapoint1; + sia:toDatapoint ?datapoint2} +WHERE +{ + ?datapoint1 sia:memberOfOrderedSet ?bnode . + ?datapoint2 sia:memberOfOrderedSet ?bnode . + ?bnode a sia:OrderedSet . + ?datapoint1 sia:orderedIndex ?i1 . + ?datapoint2 sia:orderedIndex ?i2 + FILTER ((?datapoint1 != ?datapoint2) && (?i1 < ?i2)) +} +GROUP BY ?datapoint1 ?datapoint2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sparql/construct_vector_table_details.sparql Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,30 @@ +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX owl: <http://www.w3.org/2002/07/owl#> +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> +PREFIX abc: <http://example.org/abc#> +PREFIX seq: <http://example.org/seq#> +PREFIX sia: <http://example.org/sia#> + +CONSTRUCT { ?vte sia:dimVal _:dv . + _:dv sia:dimension ?dim; + sia:value ?val} +WHERE +{ + ?vte rdf:type sia:VectorTableElement . + ?vte sia:fromDatapoint ?datapoint1 . + ?vte sia:toDatapoint ?datapoint2 . + ?datapoint1 rdf:type sia:Datapoint . + ?datapoint1 sia:dimVal ?dv1 . + ?dv1 sia:dimension ?dim . + ?dv1 sia:value ?val1 . + ?datapoint2 rdf:type sia:Datapoint . + ?datapoint2 sia:dimVal ?dv2 . + ?dv2 sia:dimension ?dim . + ?dv2 sia:value ?val2 . + ?datapoint1 sia:orderedIndex ?i1 . + ?datapoint2 sia:orderedIndex ?i2 . + BIND (?val2 - ?val1 AS ?val) + FILTER ((?datapoint1 != ?datapoint2) && (?i1 < ?i2)) +} +GROUP BY ?vte ?datapoint1 ?datapoint2 ?dim ?val
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sparql/select_all.sparql Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,14 @@ +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX owl: <http://www.w3.org/2002/07/owl#> +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> +PREFIX abc: <http://example.org/abc#> +PREFIX seq: <http://example.org/seq#> +PREFIX sia: <http://example.org/sia#> + +SELECT ?s ?p ?o +WHERE +{ + ?s ?p ?o +} +ORDER BY ?s ?p ?o
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sparql/select_sia_results.sparql Sat Dec 29 17:41:06 2012 +0000 @@ -0,0 +1,22 @@ +PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> +PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> +PREFIX owl: <http://www.w3.org/2002/07/owl#> +PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> +PREFIX abc: <http://example.org/abc#> +PREFIX seq: <http://example.org/seq#> +PREFIX sia: <http://example.org/sia#> + +SELECT ?vte (group_concat(?val; separator = ",") AS ?vector) +#SELECT DISTINCT ?vte ?val +WHERE +{ + ?vte a sia:VectorTableElement . + ?vte sia:orderedIndex ?index . + ?vte sia:fromDatapoint ?fromDP . + ?vte sia:toDatapoint ?toDP . + ?vte sia:dimVal ?dv . + ?dv sia:dimension ?dim . + ?dv sia:value ?val +} +GROUP BY ?vte +ORDER BY ?vector