http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.manual/src/site/markdown/sm-infer.md ---------------------------------------------------------------------- diff --git a/extras/rya.manual/src/site/markdown/sm-infer.md b/extras/rya.manual/src/site/markdown/sm-infer.md index c2d112c..8021297 100644 --- a/extras/rya.manual/src/site/markdown/sm-infer.md +++ b/extras/rya.manual/src/site/markdown/sm-infer.md @@ -81,11 +81,11 @@ We will go through some quick samples on loading inferred relationships, seeing First the code, which will load the following subclassof relationship: `UndergraduateStudent subclassof Student subclassof Person`. Then we will load into the tables three triples defining `UgradA rdf:type UndergraduateStudent, StudentB rdf:type Student, PersonC rdf:type Person` ``` JAVA -conn.add(new StatementImpl(vf.createURI(litdupsNS, "UndergraduateStudent"), RDFS.SUBCLASSOF, vf.createURI(litdupsNS, "Student"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "Student"), RDFS.SUBCLASSOF, vf.createURI(litdupsNS, "Person"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "UgradA"), RDF.TYPE, vf.createURI(litdupsNS, "UndergraduateStudent"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "StudentB"), RDF.TYPE, vf.createURI(litdupsNS, "Student"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "PersonC"), RDF.TYPE, vf.createURI(litdupsNS, "Person"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "UndergraduateStudent"), RDFS.SUBCLASSOF, vf.createIRI(litdupsNS, "Student"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "Student"), RDFS.SUBCLASSOF, vf.createIRI(litdupsNS, "Person"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "UgradA"), RDF.TYPE, vf.createIRI(litdupsNS, "UndergraduateStudent"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "StudentB"), RDF.TYPE, vf.createIRI(litdupsNS, "Student"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "PersonC"), RDF.TYPE, vf.createIRI(litdupsNS, "Person"))); conn.commit(); ``` @@ -121,10 +121,10 @@ QueryRoot FixedStatementPattern Var (name=79f261ee-e930-4af1-bc09-e637cc0affef) Var (name=c-79f261ee-e930-4af1-bc09-e637cc0affef, value=http://www.w3.org/2000/01/rdf-schema#subClassOf) - Var (name=-const-2, value=urn:test:litdups#Person, anonymous) + Var (name=_const_2, value=urn:test:litdups#Person, anonymous) DoNotExpandSP Var (name=s) - Var (name=-const-1, value=http://www.w3.org/1999/02/22-rdf-syntax-ns#type, anonymous) + Var (name=_const_1, value=http://www.w3.org/1999/02/22-rdf-syntax-ns#type, anonymous) Var (name=79f261ee-e930-4af1-bc09-e637cc0affef) ``` @@ -140,13 +140,13 @@ Also, EquivalentProperty can be thought of as specialized SubPropertyOf relation Sample Code: ``` JAVA -conn.add(new StatementImpl(vf.createURI(litdupsNS, "undergradDegreeFrom"), RDFS.SUBPROPERTYOF, vf.createURI(litdupsNS, "degreeFrom"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "gradDegreeFrom"), RDFS.SUBPROPERTYOF, vf.createURI(litdupsNS, "degreeFrom"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "degreeFrom"), RDFS.SUBPROPERTYOF, vf.createURI(litdupsNS, "memberOf"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "memberOf"), RDFS.SUBPROPERTYOF, vf.createURI(litdupsNS, "associatedWith"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "UgradA"), vf.createURI(litdupsNS, "undergradDegreeFrom"), vf.createURI(litdupsNS, "Harvard"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "GradB"), vf.createURI(litdupsNS, "gradDegreeFrom"), vf.createURI(litdupsNS, "Yale"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "ProfessorC"), vf.createURI(litdupsNS, "memberOf"), vf.createURI(litdupsNS, "Harvard"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "undergradDegreeFrom"), RDFS.SUBPROPERTYOF, vf.createIRI(litdupsNS, "degreeFrom"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "gradDegreeFrom"), RDFS.SUBPROPERTYOF, vf.createIRI(litdupsNS, "degreeFrom"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "degreeFrom"), RDFS.SUBPROPERTYOF, vf.createIRI(litdupsNS, "memberOf"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "memberOf"), RDFS.SUBPROPERTYOF, vf.createIRI(litdupsNS, "associatedWith"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "UgradA"), vf.createIRI(litdupsNS, "undergradDegreeFrom"), vf.createIRI(litdupsNS, "Harvard"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "GradB"), vf.createIRI(litdupsNS, "gradDegreeFrom"), vf.createIRI(litdupsNS, "Yale"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "ProfessorC"), vf.createIRI(litdupsNS, "memberOf"), vf.createIRI(litdupsNS, "Harvard"))); conn.commit(); ``` @@ -183,11 +183,11 @@ QueryRoot FixedStatementPattern Var (name=0bad69f3-4769-4293-8318-e828b23dc52a) Var (name=c-0bad69f3-4769-4293-8318-e828b23dc52a, value=http://www.w3.org/2000/01/rdf-schema#subPropertyOf) - Var (name=-const-1, value=urn:test:litdups#memberOf, anonymous) + Var (name=_const_1, value=urn:test:litdups#memberOf, anonymous) DoNotExpandSP Var (name=s) Var (name=0bad69f3-4769-4293-8318-e828b23dc52a) - Var (name=-const-2, value=urn:test:litdups#Harvard, anonymous) + Var (name=_const_2, value=urn:test:litdups#Harvard, anonymous) ``` ### InverseOf @@ -197,10 +197,10 @@ InverseOf defines a property that is an inverse relation of another property. Fo Code: ``` JAVA -conn.add(new StatementImpl(vf.createURI(litdupsNS, "degreeFrom"), OWL.INVERSEOF, vf.createURI(litdupsNS, "hasAlumnus"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "UgradA"), vf.createURI(litdupsNS, "degreeFrom"), vf.createURI(litdupsNS, "Harvard"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "GradB"), vf.createURI(litdupsNS, "degreeFrom"), vf.createURI(litdupsNS, "Harvard"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "Harvard"), vf.createURI(litdupsNS, "hasAlumnus"), vf.createURI(litdupsNS, "AlumC"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "degreeFrom"), OWL.INVERSEOF, vf.createIRI(litdupsNS, "hasAlumnus"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "UgradA"), vf.createIRI(litdupsNS, "degreeFrom"), vf.createIRI(litdupsNS, "Harvard"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "GradB"), vf.createIRI(litdupsNS, "degreeFrom"), vf.createIRI(litdupsNS, "Harvard"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "Harvard"), vf.createIRI(litdupsNS, "hasAlumnus"), vf.createIRI(litdupsNS, "AlumC"))); conn.commit(); ``` @@ -236,13 +236,13 @@ QueryRoot ProjectionElem "s" InferUnion StatementPattern - Var (name=-const-1, value=urn:test:litdups#Harvard, anonymous) - Var (name=-const-2, value=urn:test:litdups#hasAlumnus, anonymous) + Var (name=_const_1, value=urn:test:litdups#Harvard, anonymous) + Var (name=_const_2, value=urn:test:litdups#hasAlumnus, anonymous) Var (name=s) StatementPattern Var (name=s) - Var (name=-const-2, value=urn:test:litdups#degreeFrom) - Var (name=-const-1, value=urn:test:litdups#Harvard, anonymous) + Var (name=_const_2, value=urn:test:litdups#degreeFrom) + Var (name=_const_1, value=urn:test:litdups#Harvard, anonymous) ``` ### SymmetricProperty @@ -252,9 +252,9 @@ SymmetricProperty defines a relationship where, for example, if Bob is a friendO Code: ``` JAVA -conn.add(new StatementImpl(vf.createURI(litdupsNS, "friendOf"), RDF.TYPE, OWL.SYMMETRICPROPERTY)); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "Bob"), vf.createURI(litdupsNS, "friendOf"), vf.createURI(litdupsNS, "Jeff"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "James"), vf.createURI(litdupsNS, "friendOf"), vf.createURI(litdupsNS, "Jeff"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "friendOf"), RDF.TYPE, OWL.SYMMETRICPROPERTY)); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "Bob"), vf.createIRI(litdupsNS, "friendOf"), vf.createIRI(litdupsNS, "Jeff"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "James"), vf.createIRI(litdupsNS, "friendOf"), vf.createIRI(litdupsNS, "Jeff"))); conn.commit(); ``` @@ -287,11 +287,11 @@ QueryRoot InferUnion StatementPattern Var (name=s) - Var (name=-const-1, value=urn:test:litdups#friendOf, anonymous) - Var (name=-const-2, value=urn:test:litdups#Bob, anonymous) + Var (name=_const_1, value=urn:test:litdups#friendOf, anonymous) + Var (name=_const_2, value=urn:test:litdups#Bob, anonymous) StatementPattern - Var (name=-const-2, value=urn:test:litdups#Bob, anonymous) - Var (name=-const-1, value=urn:test:litdups#friendOf, anonymous) + Var (name=_const_2, value=urn:test:litdups#Bob, anonymous) + Var (name=_const_1, value=urn:test:litdups#friendOf, anonymous) Var (name=s) ``` @@ -302,12 +302,12 @@ TransitiveProperty provides a transitive relationship between resources. For exa Code: ``` JAVA -conn.add(new StatementImpl(vf.createURI(litdupsNS, "subRegionOf"), RDF.TYPE, OWL.TRANSITIVEPROPERTY)); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "Queens"), vf.createURI(litdupsNS, "subRegionOf"), vf.createURI(litdupsNS, "NYC"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "NYC"), vf.createURI(litdupsNS, "subRegionOf"), vf.createURI(litdupsNS, "NY"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "NY"), vf.createURI(litdupsNS, "subRegionOf"), vf.createURI(litdupsNS, "US"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "US"), vf.createURI(litdupsNS, "subRegionOf"), vf.createURI(litdupsNS, "NorthAmerica"))); -conn.add(new StatementImpl(vf.createURI(litdupsNS, "NorthAmerica"), vf.createURI(litdupsNS, "subRegionOf"), vf.createURI(litdupsNS, "World"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "subRegionOf"), RDF.TYPE, OWL.TRANSITIVEPROPERTY)); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "Queens"), vf.createIRI(litdupsNS, "subRegionOf"), vf.createIRI(litdupsNS, "NYC"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "NYC"), vf.createIRI(litdupsNS, "subRegionOf"), vf.createIRI(litdupsNS, "NY"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "NY"), vf.createIRI(litdupsNS, "subRegionOf"), vf.createIRI(litdupsNS, "US"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "US"), vf.createIRI(litdupsNS, "subRegionOf"), vf.createIRI(litdupsNS, "NorthAmerica"))); +conn.add(new StatementImpl(vf.createIRI(litdupsNS, "NorthAmerica"), vf.createIRI(litdupsNS, "subRegionOf"), vf.createIRI(litdupsNS, "World"))); conn.commit(); ``` @@ -348,6 +348,6 @@ QueryRoot ProjectionElem "s" TransitivePropertySP Var (name=s) - Var (name=-const-1, value=urn:test:litdups#subRegionOf, anonymous) - Var (name=-const-2, value=urn:test:litdups#NorthAmerica, anonymous) + Var (name=_const_1, value=urn:test:litdups#subRegionOf, anonymous) + Var (name=_const_2, value=urn:test:litdups#NorthAmerica, anonymous) ``` \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.manual/src/site/markdown/sm-namedgraph.md ---------------------------------------------------------------------- diff --git a/extras/rya.manual/src/site/markdown/sm-namedgraph.md b/extras/rya.manual/src/site/markdown/sm-namedgraph.md index 6826345..766c98a 100644 --- a/extras/rya.manual/src/site/markdown/sm-namedgraph.md +++ b/extras/rya.manual/src/site/markdown/sm-namedgraph.md @@ -21,7 +21,7 @@ --> # Named Graphs -Named graphs are supported simply in the Rdf Store in a few ways. OpenRdf supports sending `contexts` as each triple is saved. +Named graphs are supported simply in the Rdf Store in a few ways. RDF4J supports sending `contexts` as each triple is saved. ## Simple Named Graph Load and Query @@ -116,19 +116,19 @@ QueryRoot Join StatementPattern FROM NAMED CONTEXT Var (name=m) - Var (name=-const-2, value=http://www.example.org/vocabulary#name, anonymous) + Var (name=_const_2, value=http://www.example.org/vocabulary#name, anonymous) Var (name=name) - Var (name=-const-1, value=http://www.example.org/exampleDocument#G1, anonymous) + Var (name=_const_1, value=http://www.example.org/exampleDocument#G1, anonymous) StatementPattern FROM NAMED CONTEXT Var (name=m) - Var (name=-const-3, value=http://www.example.org/vocabulary#homepage, anonymous) + Var (name=_const_3, value=http://www.example.org/vocabulary#homepage, anonymous) Var (name=hp) - Var (name=-const-1, value=http://www.example.org/exampleDocument#G1, anonymous) + Var (name=_const_1, value=http://www.example.org/exampleDocument#G1, anonymous) StatementPattern FROM NAMED CONTEXT Var (name=m) - Var (name=-const-5, value=http://www.example.org/vocabulary#hasSkill, anonymous) + Var (name=_const_5, value=http://www.example.org/vocabulary#hasSkill, anonymous) Var (name=skill) - Var (name=-const-4, value=http://www.example.org/exampleDocument#G2, anonymous) + Var (name=_const_4, value=http://www.example.org/exampleDocument#G2, anonymous) ``` ## Inserting named graph data through Sparql http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.manual/src/site/markdown/sm-simpleaqr.md ---------------------------------------------------------------------- diff --git a/extras/rya.manual/src/site/markdown/sm-simpleaqr.md b/extras/rya.manual/src/site/markdown/sm-simpleaqr.md index 9188c2a..e6d03d4 100644 --- a/extras/rya.manual/src/site/markdown/sm-simpleaqr.md +++ b/extras/rya.manual/src/site/markdown/sm-simpleaqr.md @@ -53,9 +53,9 @@ RepositoryConnection conn = myRepository.getConnection(); //define and add statement String litdupsNS = "urn:test:litdups#"; -URI cpu = vf.createURI(litdupsNS, "cpu"); -URI loadPerc = vf.createURI(litdupsNS, "loadPerc"); -URI uri1 = vf.createURI(litdupsNS, "uri1"); +URI cpu = vf.createIRI(litdupsNS, "cpu"); +URI loadPerc = vf.createIRI(litdupsNS, "loadPerc"); +URI uri1 = vf.createIRI(litdupsNS, "uri1"); conn.add(cpu, loadPerc, uri1); conn.commit(); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.manual/src/site/markdown/sm-sparqlquery.md ---------------------------------------------------------------------- diff --git a/extras/rya.manual/src/site/markdown/sm-sparqlquery.md b/extras/rya.manual/src/site/markdown/sm-sparqlquery.md index 639ca02..ffa537a 100644 --- a/extras/rya.manual/src/site/markdown/sm-sparqlquery.md +++ b/extras/rya.manual/src/site/markdown/sm-sparqlquery.md @@ -53,11 +53,11 @@ RepositoryConnection conn = myRepository.getConnection(); //define and add statements String litdupsNS = "urn:test:litdups#"; -URI cpu = vf.createURI(litdupsNS, "cpu"); -URI loadPerc = vf.createURI(litdupsNS, "loadPerc"); -URI uri1 = vf.createURI(litdupsNS, "uri1"); -URI pred2 = vf.createURI(litdupsNS, "pred2"); -URI uri2 = vf.createURI(litdupsNS, "uri2"); +URI cpu = vf.createIRI(litdupsNS, "cpu"); +URI loadPerc = vf.createIRI(litdupsNS, "loadPerc"); +URI uri1 = vf.createIRI(litdupsNS, "uri1"); +URI pred2 = vf.createIRI(litdupsNS, "pred2"); +URI uri2 = vf.createIRI(litdupsNS, "uri2"); conn.add(cpu, loadPerc, uri1); conn.commit(); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.manual/src/site/markdown/sm-updatedata.md ---------------------------------------------------------------------- diff --git a/extras/rya.manual/src/site/markdown/sm-updatedata.md b/extras/rya.manual/src/site/markdown/sm-updatedata.md index f0fe664..6d5165f 100644 --- a/extras/rya.manual/src/site/markdown/sm-updatedata.md +++ b/extras/rya.manual/src/site/markdown/sm-updatedata.md @@ -21,7 +21,7 @@ --> # Sparql Update -OpenRDF supports the Sparql Update functionality. Here are a few samples: +RDF4J supports the Sparql Update functionality. Here are a few samples: Remember, you have to use `RepositoryConnection.prepareUpdate(..)` to perform these queries http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/BaseRuleMapper.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/BaseRuleMapper.java b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/BaseRuleMapper.java index aca2dbc..862d3bf 100644 --- a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/BaseRuleMapper.java +++ b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/BaseRuleMapper.java @@ -27,10 +27,6 @@ import org.apache.accumulo.core.data.Range; import org.apache.accumulo.core.data.Value; import org.apache.hadoop.conf.Configuration; import org.apache.log4j.Logger; -import org.openrdf.query.QueryEvaluationException; -import org.openrdf.query.algebra.Or; -import org.openrdf.query.algebra.ValueExpr; - import org.apache.rya.accumulo.AccumuloRdfConfiguration; import org.apache.rya.accumulo.mr.MRUtils; import org.apache.rya.accumulo.mr.merge.MergeTool; @@ -46,6 +42,9 @@ import org.apache.rya.api.resolver.triple.TripleRowResolver; import org.apache.rya.api.resolver.triple.TripleRowResolverException; import org.apache.rya.api.resolver.triple.impl.WholeRowTripleResolver; import org.apache.rya.rdftriplestore.evaluation.ParallelEvaluationStrategyImpl; +import org.eclipse.rdf4j.query.QueryEvaluationException; +import org.eclipse.rdf4j.query.algebra.Or; +import org.eclipse.rdf4j.query.algebra.ValueExpr; /** * Take in rows from a table and range defined by query-based rules, convert the rows to @@ -55,7 +54,7 @@ public abstract class BaseRuleMapper<KEYOUT, VALUEOUT> extends BaseCopyToolMappe /** * Hadoop counters for tracking the number of statements and/or raw rows that have been processed. */ - public static enum Counters { STATEMENTS_COPIED, DIRECT_ROWS_COPIED }; + public enum Counters { STATEMENTS_COPIED, DIRECT_ROWS_COPIED } private static final Logger log = Logger.getLogger(BaseRuleMapper.class); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/MergeToolMapper.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/MergeToolMapper.java b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/MergeToolMapper.java index f5a9dae..8050ea2 100644 --- a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/MergeToolMapper.java +++ b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/mappers/MergeToolMapper.java @@ -40,9 +40,6 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; import org.apache.log4j.Logger; - -import com.google.common.base.Charsets; - import org.apache.rya.accumulo.AccumuloRdfConfiguration; import org.apache.rya.accumulo.AccumuloRdfConstants; import org.apache.rya.accumulo.AccumuloRyaDAO; @@ -61,6 +58,8 @@ import org.apache.rya.api.resolver.RyaTripleContext; import org.apache.rya.api.resolver.triple.TripleRow; import org.apache.rya.api.resolver.triple.TripleRowResolverException; +import com.google.common.base.Charsets; + /** * Reads from the Parent and Child tables comparing their the keys and adds or deletes the keys * from the parent as necessary in order to reflect changes that the child made since the provided @@ -116,7 +115,7 @@ public class MergeToolMapper extends Mapper<Key, Value, Text, Mutation> { /** * The result of comparing a child key and parent key which determines what should be done with them. */ - private static enum CompareKeysResult { + private enum CompareKeysResult { /** * Indicates that the child iterator should move to the next key in the child * table in order to be compared to the current key in the parent table. @@ -147,7 +146,7 @@ public class MergeToolMapper extends Mapper<Key, Value, Text, Mutation> { /** * Indicates that there are no more keys to compare in the child and parent tables. */ - FINISHED; + FINISHED } /** http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloQueryRuleset.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloQueryRuleset.java b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloQueryRuleset.java index caae9f5..aa0f615 100644 --- a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloQueryRuleset.java +++ b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloQueryRuleset.java @@ -28,12 +28,6 @@ import org.apache.accumulo.core.client.mapreduce.InputTableConfig; import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.Range; import org.apache.hadoop.io.Text; -import org.openrdf.model.Resource; -import org.openrdf.model.Statement; -import org.openrdf.model.URI; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.Var; - import org.apache.rya.api.RdfCloudTripleStoreConfiguration; import org.apache.rya.api.RdfCloudTripleStoreConstants.TABLE_LAYOUT; import org.apache.rya.api.RdfCloudTripleStoreUtils; @@ -43,6 +37,11 @@ import org.apache.rya.api.query.strategy.TriplePatternStrategy; import org.apache.rya.api.resolver.RdfToRyaConversions; import org.apache.rya.api.resolver.RyaTripleContext; import org.apache.rya.api.utils.NullableStatementImpl; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Resource; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.Var; /** * A {@link QueryRuleset} that additionally maps rules to ranges in Accumulo tables. Also enables @@ -85,7 +84,7 @@ public class AccumuloQueryRuleset extends QueryRuleset { private Map.Entry<TABLE_LAYOUT, ByteRange> getRange(final StatementPattern sp) throws IOException { final Var context = sp.getContextVar(); final Statement stmt = new NullableStatementImpl((Resource) sp.getSubjectVar().getValue(), - (URI) sp.getPredicateVar().getValue(), sp.getObjectVar().getValue(), + (IRI) sp.getPredicateVar().getValue(), sp.getObjectVar().getValue(), context == null ? null : (Resource) context.getValue()); final RyaStatement rs = RdfToRyaConversions.convertStatement(stmt); final TriplePatternStrategy strategy = ryaContext.retrieveStrategy(rs); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloRyaUtils.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloRyaUtils.java b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloRyaUtils.java index 5a3b928..8a02672 100644 --- a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloRyaUtils.java +++ b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/AccumuloRyaUtils.java @@ -60,14 +60,13 @@ import org.apache.rya.api.domain.RyaURI; import org.apache.rya.api.persist.RyaDAOException; import org.apache.rya.api.resolver.RdfToRyaConversions; import org.apache.rya.indexing.accumulo.ConfigUtils; -import org.openrdf.model.Literal; -import org.openrdf.model.ValueFactory; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; +import org.eclipse.rdf4j.model.Literal; +import org.eclipse.rdf4j.model.ValueFactory; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableSet; -import info.aduna.iteration.CloseableIteration; - /** * Utility methods for an Accumulo Rya instance. */ @@ -123,7 +122,7 @@ public final class AccumuloRyaUtils { * @return the {@link RyraURI}. */ public static RyaURI createRyaUri(final String namespace, final String localName) { - return RdfToRyaConversions.convertURI(VALUE_FACTORY.createURI(namespace, localName)); + return RdfToRyaConversions.convertURI(VALUE_FACTORY.createIRI(namespace, localName)); } /** http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/CopyRule.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/CopyRule.java b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/CopyRule.java index 2f78efa..2bf1e0e 100644 --- a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/CopyRule.java +++ b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/CopyRule.java @@ -22,30 +22,29 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; -import org.openrdf.model.Statement; -import org.openrdf.model.impl.ValueFactoryImpl; -import org.openrdf.query.QueryEvaluationException; -import org.openrdf.query.algebra.And; -import org.openrdf.query.algebra.QueryModelNode; -import org.openrdf.query.algebra.QueryModelNodeBase; -import org.openrdf.query.algebra.QueryModelVisitor; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.ValueConstant; -import org.openrdf.query.algebra.ValueExpr; -import org.openrdf.query.algebra.Var; -import org.openrdf.query.algebra.evaluation.EvaluationStrategy; -import org.openrdf.query.algebra.evaluation.QueryBindingSet; -import org.openrdf.query.algebra.evaluation.ValueExprEvaluationException; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; - import org.apache.rya.accumulo.mr.merge.util.QueryRuleset.QueryRulesetException; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; +import org.eclipse.rdf4j.query.QueryEvaluationException; +import org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode; +import org.eclipse.rdf4j.query.algebra.And; +import org.eclipse.rdf4j.query.algebra.QueryModelNode; +import org.eclipse.rdf4j.query.algebra.QueryModelVisitor; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.ValueConstant; +import org.eclipse.rdf4j.query.algebra.ValueExpr; +import org.eclipse.rdf4j.query.algebra.Var; +import org.eclipse.rdf4j.query.algebra.evaluation.EvaluationStrategy; +import org.eclipse.rdf4j.query.algebra.evaluation.QueryBindingSet; +import org.eclipse.rdf4j.query.algebra.evaluation.ValueExprEvaluationException; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; /** * A rule that defines a subset of statements to copy at the RDF level. Consists of a * statement pattern and an optional filter expression. */ -public class CopyRule extends QueryModelNodeBase { - private static final ValueConstant TRUE = new ValueConstant(ValueFactoryImpl.getInstance().createLiteral(true)); +public class CopyRule extends AbstractQueryModelNode { + private static final ValueConstant TRUE = new ValueConstant(SimpleValueFactory.getInstance().createLiteral(true)); private static final String SUFFIX = UUID.randomUUID().toString(); private static final Var SUBJ_VAR = new Var("subject_" + SUFFIX); @@ -101,7 +100,7 @@ public class CopyRule extends QueryModelNodeBase { /** * Visitor that checks a tree for the existence of a given variable name. */ - private static class VarSearchVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class VarSearchVisitor extends AbstractQueryModelVisitor<RuntimeException> { boolean found = false; private final String queryVar; public VarSearchVisitor(final String queryVar) { @@ -126,7 +125,7 @@ public class CopyRule extends QueryModelNodeBase { * operators to preserve meaningful expressions while eliminating undefined * conditions. */ - private static class RuleVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class RuleVisitor extends AbstractQueryModelVisitor<RuntimeException> { private final CopyRule rule; RuleVisitor(final CopyRule rule) { this.rule = rule; @@ -335,11 +334,8 @@ public class CopyRule extends QueryModelNodeBase { || (statement == null && other.statement != null)) { return false; } - if ((condition != null && !condition.equals(other.condition)) - || (condition == null && other.condition != null)) { - return false; - } - return true; + return (condition == null || condition.equals(other.condition)) + && (condition != null || other.condition == null); } @Override http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/QueryRuleset.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/QueryRuleset.java b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/QueryRuleset.java index 42109db..f20d16c 100644 --- a/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/QueryRuleset.java +++ b/extras/rya.merger/src/main/java/org/apache/rya/accumulo/mr/merge/util/QueryRuleset.java @@ -29,7 +29,6 @@ import java.util.Set; import org.apache.commons.io.FileUtils; import org.apache.log4j.Logger; import org.apache.rya.accumulo.mr.merge.CopyTool; -import org.apache.rya.accumulo.mr.merge.util.QueryRuleset.QueryRulesetException; import org.apache.rya.api.RdfCloudTripleStoreConfiguration; import org.apache.rya.rdftriplestore.RdfCloudTripleStore; import org.apache.rya.rdftriplestore.inference.InferJoin; @@ -44,30 +43,30 @@ import org.apache.rya.rdftriplestore.inference.TransitivePropertyVisitor; import org.apache.rya.rdftriplestore.utils.FixedStatementPattern; import org.apache.rya.rdftriplestore.utils.TransitivePropertySP; import org.apache.rya.sail.config.RyaSailFactory; -import org.openrdf.model.Statement; -import org.openrdf.model.URI; -import org.openrdf.model.Value; -import org.openrdf.model.vocabulary.OWL; -import org.openrdf.model.vocabulary.RDF; -import org.openrdf.model.vocabulary.RDFS; -import org.openrdf.query.MalformedQueryException; -import org.openrdf.query.QueryLanguage; -import org.openrdf.query.UnsupportedQueryLanguageException; -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.FunctionCall; -import org.openrdf.query.algebra.Join; -import org.openrdf.query.algebra.ListMemberOperator; -import org.openrdf.query.algebra.Or; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.Union; -import org.openrdf.query.algebra.ValueExpr; -import org.openrdf.query.algebra.Var; -import org.openrdf.query.algebra.evaluation.function.FunctionRegistry; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; -import org.openrdf.query.parser.ParsedTupleQuery; -import org.openrdf.query.parser.QueryParserUtil; -import org.openrdf.sail.SailException; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.model.Value; +import org.eclipse.rdf4j.model.vocabulary.OWL; +import org.eclipse.rdf4j.model.vocabulary.RDF; +import org.eclipse.rdf4j.model.vocabulary.RDFS; +import org.eclipse.rdf4j.query.MalformedQueryException; +import org.eclipse.rdf4j.query.QueryLanguage; +import org.eclipse.rdf4j.query.UnsupportedQueryLanguageException; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.FunctionCall; +import org.eclipse.rdf4j.query.algebra.Join; +import org.eclipse.rdf4j.query.algebra.ListMemberOperator; +import org.eclipse.rdf4j.query.algebra.Or; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.Union; +import org.eclipse.rdf4j.query.algebra.ValueExpr; +import org.eclipse.rdf4j.query.algebra.Var; +import org.eclipse.rdf4j.query.algebra.evaluation.function.FunctionRegistry; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; +import org.eclipse.rdf4j.query.parser.ParsedTupleQuery; +import org.eclipse.rdf4j.query.parser.QueryParserUtil; +import org.eclipse.rdf4j.sail.SailException; /** * Represents a set of {@link CopyRule} instances derived from a query. The ruleset determines a logical @@ -93,7 +92,7 @@ public class QueryRuleset { /** * Takes in a parsed query tree and extracts the rules defining relevant statements. */ - private static class RulesetVisitor extends QueryModelVisitorBase<QueryRulesetException> { + private static class RulesetVisitor extends AbstractQueryModelVisitor<QueryRulesetException> { List<CopyRule> rules = new LinkedList<>(); private final Set<Value> superclasses = new HashSet<>(); private final Set<Value> superproperties = new HashSet<>(); @@ -257,11 +256,11 @@ public class QueryRuleset { if (node instanceof InferUnion) { // If this is the result of inference, search each tree for (non-standard) properties and add them // to the set of properties for which to include schema information. - final QueryModelVisitorBase<QueryRulesetException> propertyVisitor = new QueryModelVisitorBase<QueryRulesetException>() { + final AbstractQueryModelVisitor<QueryRulesetException> propertyVisitor = new AbstractQueryModelVisitor<QueryRulesetException>() { @Override public void meet(final StatementPattern node) { if (node.getPredicateVar().hasValue()) { - final URI predValue = (URI) node.getPredicateVar().getValue(); + final IRI predValue = (IRI) node.getPredicateVar().getValue(); final String ns = predValue.getNamespace(); if (node instanceof FixedStatementPattern && (RDFS.SUBPROPERTYOF.equals(predValue) || OWL.EQUIVALENTPROPERTY.equals(predValue))) { @@ -341,7 +340,7 @@ public class QueryRuleset { * @param objValues Either null or a Set of Values that the object variable can have, tested using a filter * @throws QueryRulesetException if the rule can't be created */ - private void addListRule(final Var subjVar, final Set<Value> subjValues, final URI predicate, + private void addListRule(final Var subjVar, final Set<Value> subjValues, final IRI predicate, final Var objVar, final Set<Value> objValues) throws QueryRulesetException { ListMemberOperator subjCondition = null; ListMemberOperator objCondition = null; @@ -463,7 +462,7 @@ public class QueryRuleset { // consist of only variables (this would result in a rule that matches every triple). // Needs to be done before inference, since inference rules may create such statement patterns // that are OK because they won'd be converted to rules directly. - te.visit(new QueryModelVisitorBase<QueryRulesetException>() { + te.visit(new AbstractQueryModelVisitor<QueryRulesetException>() { @Override public void meet(final StatementPattern node) throws QueryRulesetException { if (!(node.getSubjectVar().hasValue() || node.getPredicateVar().hasValue() || node.getObjectVar().hasValue())) { http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/CopyToolTest.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/CopyToolTest.java b/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/CopyToolTest.java index fcf4d9e..d785052 100644 --- a/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/CopyToolTest.java +++ b/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/CopyToolTest.java @@ -57,6 +57,7 @@ import org.apache.rya.api.RdfCloudTripleStoreConstants; import org.apache.rya.api.domain.RyaStatement; import org.apache.rya.api.persist.RyaDAOException; import org.apache.rya.indexing.accumulo.ConfigUtils; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; import org.junit.After; import org.junit.AfterClass; import org.junit.Assert; @@ -64,8 +65,6 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import info.aduna.iteration.CloseableIteration; - /** * Tests for {@link CopyTool}. */ http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/MergeToolTest.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/MergeToolTest.java b/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/MergeToolTest.java index 54e5b44..a1c731a 100644 --- a/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/MergeToolTest.java +++ b/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/MergeToolTest.java @@ -40,13 +40,6 @@ import org.apache.accumulo.core.security.Authorizations; import org.apache.accumulo.core.security.ColumnVisibility; import org.apache.hadoop.io.Text; import org.apache.log4j.Logger; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; - -import info.aduna.iteration.CloseableIteration; import org.apache.rya.accumulo.AccumuloRdfConfiguration; import org.apache.rya.accumulo.AccumuloRyaDAO; import org.apache.rya.accumulo.mr.MRUtils; @@ -59,6 +52,12 @@ import org.apache.rya.api.RdfCloudTripleStoreConfiguration; import org.apache.rya.api.RdfCloudTripleStoreConstants; import org.apache.rya.api.domain.RyaStatement; import org.apache.rya.api.persist.RyaDAOException; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; /** * Tests for {@link MergeTool}. http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/RulesetCopyIT.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/RulesetCopyIT.java b/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/RulesetCopyIT.java index 1c83378..6a6a53c 100644 --- a/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/RulesetCopyIT.java +++ b/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/RulesetCopyIT.java @@ -49,35 +49,38 @@ import org.apache.rya.api.persist.RyaDAOException; import org.apache.rya.api.resolver.RyaToRdfConversions; import org.apache.rya.indexing.accumulo.ConfigUtils; import org.apache.rya.sail.config.RyaSailFactory; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Namespace; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; +import org.eclipse.rdf4j.model.vocabulary.OWL; +import org.eclipse.rdf4j.model.vocabulary.RDF; +import org.eclipse.rdf4j.model.vocabulary.RDFS; +import org.eclipse.rdf4j.model.vocabulary.XMLSchema; +import org.eclipse.rdf4j.query.BindingSet; +import org.eclipse.rdf4j.query.QueryLanguage; +import org.eclipse.rdf4j.query.QueryResultHandlerException; +import org.eclipse.rdf4j.query.TupleQuery; +import org.eclipse.rdf4j.query.TupleQueryResultHandler; +import org.eclipse.rdf4j.query.TupleQueryResultHandlerException; +import org.eclipse.rdf4j.repository.sail.SailRepository; +import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection; +import org.eclipse.rdf4j.sail.Sail; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import org.openrdf.model.Namespace; -import org.openrdf.model.Statement; -import org.openrdf.model.URI; -import org.openrdf.model.impl.URIImpl; -import org.openrdf.model.vocabulary.OWL; -import org.openrdf.model.vocabulary.RDF; -import org.openrdf.model.vocabulary.RDFS; -import org.openrdf.model.vocabulary.XMLSchema; -import org.openrdf.query.BindingSet; -import org.openrdf.query.QueryLanguage; -import org.openrdf.query.QueryResultHandlerException; -import org.openrdf.query.TupleQuery; -import org.openrdf.query.TupleQueryResultHandler; -import org.openrdf.query.TupleQueryResultHandlerException; -import org.openrdf.repository.sail.SailRepository; -import org.openrdf.repository.sail.SailRepositoryConnection; -import org.openrdf.sail.Sail; - -import info.aduna.iteration.CloseableIteration; + import junit.framework.Assert; public class RulesetCopyIT { private static final Logger log = Logger.getLogger(RulesetCopyIT.class); + private static final ValueFactory VF = SimpleValueFactory.getInstance(); + private static final boolean IS_MOCK = false; private static final String CHILD_SUFFIX = MergeTool.CHILD_SUFFIX; @@ -141,7 +144,7 @@ public class RulesetCopyIT { return new RyaType(lit); } - private static RyaType literal(final String lit, final URI type) { + private static RyaType literal(final String lit, final IRI type) { return new RyaType(type, lit); } @@ -226,7 +229,7 @@ public class RulesetCopyIT { makeArgument(MRUtils.AC_USERNAME_PROP + CHILD_SUFFIX, accumuloDualInstanceDriver.getChildUser()), makeArgument(MRUtils.AC_PWD_PROP + CHILD_SUFFIX, CHILD_PASSWORD), makeArgument(MRUtils.TABLE_PREFIX_PROPERTY + CHILD_SUFFIX, CHILD_TABLE_PREFIX), - makeArgument(MRUtils.AC_AUTH_PROP + CHILD_SUFFIX, accumuloDualInstanceDriver.getChildAuth() != null ? accumuloDualInstanceDriver.getChildAuth() : null), + makeArgument(MRUtils.AC_AUTH_PROP + CHILD_SUFFIX, accumuloDualInstanceDriver.getChildAuth()), makeArgument(MRUtils.AC_ZK_PROP + CHILD_SUFFIX, accumuloDualInstanceDriver.getChildZooKeepers() != null ? accumuloDualInstanceDriver.getChildZooKeepers() : "localhost"), makeArgument(CopyTool.CHILD_TOMCAT_URL_PROP, CHILD_TOMCAT_URL), makeArgument(CopyTool.CREATE_CHILD_INSTANCE_TYPE_PROP, (IS_MOCK ? InstanceType.MOCK : InstanceType.MINI).toString()), @@ -348,7 +351,7 @@ public class RulesetCopyIT { statement("test:University1", "test:telephone", literal("555")), statement("test:FullProfessor1", "test:worksFor", "test:University1"), statement("test:FullProfessor1", "test:hired", literal("2001-01-01T04:01:02.000Z", XMLSchema.DATETIME)), - statement("test:University1", "geo:asWKT", literal("Point(-77.03524 38.889468)", new URIImpl("http://www.opengis.net/ont/geosparql#wktLiteral"))) + statement("test:University1", "geo:asWKT", literal("Point(-77.03524 38.889468)", VF.createIRI("http://www.opengis.net/ont/geosparql#wktLiteral"))) }; // These aren't solutions but should be copied: final RyaStatement[] copyStatements = { http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/util/TestUtils.java ---------------------------------------------------------------------- diff --git a/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/util/TestUtils.java b/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/util/TestUtils.java index 8901461..3b4358b 100644 --- a/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/util/TestUtils.java +++ b/extras/rya.merger/src/test/java/org/apache/rya/accumulo/mr/merge/util/TestUtils.java @@ -23,12 +23,12 @@ import static org.junit.Assert.assertTrue; import java.util.Date; -import info.aduna.iteration.CloseableIteration; import org.apache.rya.accumulo.AccumuloRdfConfiguration; import org.apache.rya.accumulo.AccumuloRyaDAO; import org.apache.rya.api.domain.RyaStatement; import org.apache.rya.api.domain.RyaURI; import org.apache.rya.api.persist.RyaDAOException; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; /** * Utility methods for testing merging/copying. @@ -54,7 +54,7 @@ public final class TestUtils { /** * Indicates when something occurred: before or after. */ - public static enum Occurrence { + public enum Occurrence { BEFORE(-1), AFTER(1); @@ -82,7 +82,7 @@ public final class TestUtils { * is similar to {@code java.util.concurrent.TimeUnit} but adds the week, * month, and year units and only converts to milliseconds. */ - public static enum CalendarUnit { + public enum CalendarUnit { MILLISECOND(1L), SECOND(1000L * MILLISECOND.getMilliseconds()), MINUTE(60L * SECOND.getMilliseconds()), http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreateFluoPcj.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreateFluoPcj.java b/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreateFluoPcj.java index a988bc7..731952a 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreateFluoPcj.java +++ b/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreateFluoPcj.java @@ -57,11 +57,11 @@ import org.apache.rya.indexing.pcj.storage.PcjException; import org.apache.rya.indexing.pcj.storage.PcjMetadata; import org.apache.rya.indexing.pcj.storage.PrecomputedJoinStorage; import org.calrissian.mango.collect.CloseableIterable; -import org.openrdf.model.Resource; -import org.openrdf.model.URI; -import org.openrdf.model.Value; -import org.openrdf.query.MalformedQueryException; -import org.openrdf.query.algebra.StatementPattern; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Resource; +import org.eclipse.rdf4j.model.Value; +import org.eclipse.rdf4j.query.MalformedQueryException; +import org.eclipse.rdf4j.query.algebra.StatementPattern; import com.google.common.base.Preconditions; import com.google.common.collect.Sets; @@ -430,10 +430,10 @@ public class CreateFluoPcj { } if (predVal != null) { - if(!(predVal instanceof URI)) { + if(!(predVal instanceof IRI)) { throw new AssertionError("Predicate must be a URI."); } - predURI = RdfToRyaConversions.convertURI((URI) predVal); + predURI = RdfToRyaConversions.convertURI((IRI) predVal); } if (objVal != null ) { http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreatePeriodicQuery.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreatePeriodicQuery.java b/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreatePeriodicQuery.java index 24adde9..0e7c7cf 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreatePeriodicQuery.java +++ b/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/CreatePeriodicQuery.java @@ -32,8 +32,8 @@ import org.apache.rya.indexing.pcj.storage.PeriodicQueryResultStorage; import org.apache.rya.indexing.pcj.storage.PeriodicQueryStorageException; import org.apache.rya.periodic.notification.api.PeriodicNotificationClient; import org.apache.rya.periodic.notification.notification.PeriodicNotification; -import org.openrdf.query.MalformedQueryException; -import org.openrdf.query.algebra.evaluation.function.Function; +import org.eclipse.rdf4j.query.MalformedQueryException; +import org.eclipse.rdf4j.query.algebra.evaluation.function.Function; import com.google.common.collect.Sets; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/DeleteFluoPcj.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/DeleteFluoPcj.java b/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/DeleteFluoPcj.java index e0123be..0aaed64 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/DeleteFluoPcj.java +++ b/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/DeleteFluoPcj.java @@ -39,7 +39,7 @@ import org.apache.rya.indexing.pcj.fluo.app.query.FluoQueryMetadataDAO; import org.apache.rya.indexing.pcj.fluo.app.query.StatementPatternIdManager; import org.apache.rya.indexing.pcj.fluo.app.query.UnsupportedQueryException; import org.apache.rya.indexing.pcj.fluo.app.util.FluoQueryUtils; -import org.openrdf.query.BindingSet; +import org.eclipse.rdf4j.query.BindingSet; import edu.umd.cs.findbugs.annotations.DefaultAnnotation; import edu.umd.cs.findbugs.annotations.NonNull; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/ListFluoQueries.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/ListFluoQueries.java b/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/ListFluoQueries.java index 8f5bbfe..170711f 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/ListFluoQueries.java +++ b/extras/rya.pcj.fluo/pcj.fluo.api/src/main/java/org/apache/rya/indexing/pcj/fluo/api/ListFluoQueries.java @@ -28,9 +28,9 @@ import org.apache.rya.api.client.CreatePCJ.ExportStrategy; import org.apache.rya.api.client.CreatePCJ.QueryType; import org.apache.rya.indexing.pcj.fluo.app.query.FluoQueryMetadataDAO; import org.apache.rya.indexing.pcj.fluo.app.query.QueryMetadata; -import org.openrdf.query.parser.ParsedQuery; -import org.openrdf.query.parser.sparql.SPARQLParser; -import org.openrdf.queryrender.sparql.SPARQLQueryRenderer; +import org.eclipse.rdf4j.query.parser.ParsedQuery; +import org.eclipse.rdf4j.query.parser.sparql.SPARQLParser; +import org.eclipse.rdf4j.queryrender.sparql.SPARQLQueryRenderer; import com.google.common.base.Preconditions; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.app/pom.xml ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.app/pom.xml b/extras/rya.pcj.fluo/pcj.fluo.app/pom.xml index b62beaf..1c6d189 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.app/pom.xml +++ b/extras/rya.pcj.fluo/pcj.fluo.app/pom.xml @@ -79,8 +79,8 @@ under the License. <artifactId>fluo-recipes-accumulo</artifactId> </dependency> <dependency> - <groupId>org.openrdf.sesame</groupId> - <artifactId>sesame-queryrender</artifactId> + <groupId>org.eclipse.rdf4j</groupId> + <artifactId>rdf4j-queryrender</artifactId> </dependency> <dependency> http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/AggregationResultUpdater.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/AggregationResultUpdater.java b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/AggregationResultUpdater.java index 4fbaad9..a3473ec 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/AggregationResultUpdater.java +++ b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/AggregationResultUpdater.java @@ -46,7 +46,7 @@ import org.apache.rya.api.model.VisibilityBindingSet; import org.apache.rya.indexing.pcj.fluo.app.query.AggregationMetadata; import org.apache.rya.indexing.pcj.fluo.app.query.FluoQueryColumns; import org.apache.rya.indexing.pcj.storage.accumulo.VariableOrder; -import org.openrdf.query.impl.MapBindingSet; +import org.eclipse.rdf4j.query.impl.MapBindingSet; import com.google.common.collect.ImmutableMap; @@ -195,19 +195,24 @@ public class AggregationResultUpdater extends AbstractNodeUpdater { // System.out.println("vois.accept(" + className + ".class, ");};}; ) { // These classes are allowed to be deserialized. Others throw InvalidClassException. - vois.accept(AggregationState.class, - AverageState.class, - java.util.HashMap.class, - java.math.BigInteger.class, - java.lang.Number.class, - java.math.BigDecimal.class, - org.openrdf.query.impl.MapBindingSet.class, - java.util.LinkedHashMap.class, - org.openrdf.query.impl.BindingImpl.class, - org.openrdf.model.impl.URIImpl.class, - org.openrdf.model.impl.LiteralImpl.class, - org.openrdf.model.impl.DecimalLiteralImpl.class, - org.openrdf.model.impl.IntegerLiteralImpl.class); + vois.accept( + AggregationState.class, + AverageState.class, + java.lang.Long.class, + java.lang.Number.class, + java.math.BigDecimal.class, + java.math.BigInteger.class, + java.util.HashMap.class, + java.util.LinkedHashMap.class, + org.eclipse.rdf4j.query.impl.MapBindingSet.class, + org.eclipse.rdf4j.query.impl.SimpleBinding.class, + org.eclipse.rdf4j.model.impl.SimpleIRI.class, + org.eclipse.rdf4j.model.impl.SimpleLiteral.class, + org.eclipse.rdf4j.model.impl.DecimalLiteral.class, + org.eclipse.rdf4j.model.impl.IntegerLiteral.class, + org.eclipse.rdf4j.model.impl.NumericLiteral.class, + org.eclipse.rdf4j.query.AbstractBindingSet.class + ); vois.accept("[B"); // Array of Bytes final Object o = vois.readObject(); if(o instanceof AggregationState) { http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructGraph.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructGraph.java b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructGraph.java index ed3c7ce..e0b5df9 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructGraph.java +++ b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructGraph.java @@ -17,6 +17,7 @@ package org.apache.rya.indexing.pcj.fluo.app; * specific language governing permissions and limitations * under the License. */ + import java.util.Collection; import java.util.HashMap; import java.util.HashSet; @@ -27,10 +28,10 @@ import java.util.UUID; import org.apache.rya.api.domain.RyaStatement; import org.apache.rya.api.model.VisibilityBindingSet; -import org.openrdf.model.BNode; -import org.openrdf.model.Value; -import org.openrdf.model.impl.BNodeImpl; -import org.openrdf.query.algebra.StatementPattern; +import org.eclipse.rdf4j.model.BNode; +import org.eclipse.rdf4j.model.Value; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; +import org.eclipse.rdf4j.query.algebra.StatementPattern; import com.google.common.base.Preconditions; @@ -85,7 +86,7 @@ public class ConstructGraph { private Map<String, BNode> getBNodeMap() { Map<String, BNode> bNodeMap = new HashMap<>(); for(String name: bNodeNames) { - bNodeMap.put(name, new BNodeImpl(UUID.randomUUID().toString())); + bNodeMap.put(name, SimpleValueFactory.getInstance().createBNode(UUID.randomUUID().toString())); } return bNodeMap; } @@ -100,7 +101,7 @@ public class ConstructGraph { /** * Creates a construct query graph represented as a Set of {@link RyaStatement}s - * @param bs - VisiblityBindingSet used to build statement BindingSets + * @param bs - VisibilityBindingSet used to build statement BindingSets * @return - Set of RyaStatements that represent a construct query graph. */ public Set<RyaStatement> createGraphFromBindingSet(VisibilityBindingSet bs) { http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructProjection.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructProjection.java b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructProjection.java index 1563bb5..fbf95fc 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructProjection.java +++ b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ConstructProjection.java @@ -18,6 +18,7 @@ package org.apache.rya.indexing.pcj.fluo.app; * specific language governing permissions and limitations * under the License. */ + import java.io.UnsupportedEncodingException; import java.util.Map; import java.util.Optional; @@ -27,16 +28,18 @@ import org.apache.log4j.Logger; import org.apache.rya.api.domain.RyaStatement; import org.apache.rya.api.domain.RyaType; import org.apache.rya.api.domain.RyaURI; +import org.apache.rya.api.domain.VarNameUtils; import org.apache.rya.api.model.VisibilityBindingSet; import org.apache.rya.api.resolver.RdfToRyaConversions; -import org.openrdf.model.BNode; -import org.openrdf.model.Resource; -import org.openrdf.model.URI; -import org.openrdf.model.Value; -import org.openrdf.model.impl.BNodeImpl; -import org.openrdf.query.BindingSet; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.Var; +import org.eclipse.rdf4j.model.BNode; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Resource; +import org.eclipse.rdf4j.model.Value; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; +import org.eclipse.rdf4j.query.BindingSet; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.Var; import com.google.common.base.Objects; import com.google.common.base.Preconditions; @@ -44,9 +47,9 @@ import com.google.common.base.Preconditions; /** * This class projects a VisibilityBindingSet onto a RyaStatement. The Binding * {@link Value}s that get projected onto subject, predicate and object are - * indicated by the names {@link ConstructProjection#getSubjectSourceVar()}, - * {@link ConstructProjection#getPredicateSourceVar()} and - * {@link ConstructProjection#getObjectSourceVar()} and must satisfy standard + * indicated by the names {@link ConstructProjection#getSubjectSourceName()}, + * {@link ConstructProjection#getPredicateSourceName()} and + * {@link ConstructProjection#getObjectSourceName()} and must satisfy standard * RDF constraints for RDF subjects, predicates and objects. The purpose of * projecting {@link BindingSet}s in this way is to provide functionality for * SPARQL Construct queries which create RDF statements from query results. @@ -55,6 +58,7 @@ import com.google.common.base.Preconditions; public class ConstructProjection { private static final Logger log = Logger.getLogger(ConstructProjection.class); + private static final ValueFactory VF = SimpleValueFactory.getInstance(); private String subjName; private String predName; private String objName; @@ -69,17 +73,17 @@ public class ConstructProjection { Preconditions.checkNotNull(subjectVar); Preconditions.checkNotNull(predicateVar); Preconditions.checkNotNull(objectVar); - subjName = subjectVar.getName(); - predName = predicateVar.getName(); - objName = objectVar.getName(); + subjName = VarNameUtils.createSimpleConstVarName(subjectVar); + predName = VarNameUtils.createSimpleConstVarName(predicateVar); + objName = VarNameUtils.createSimpleConstVarName(objectVar); Preconditions.checkNotNull(subjName); Preconditions.checkNotNull(predName); Preconditions.checkNotNull(objName); this.subjVar = subjectVar; this.predVar = predicateVar; this.objVar = objectVar; - if((subjVar.isAnonymous() || subjName.startsWith("-anon-")) && subjectVar.getValue() == null) { - subjValue = Optional.of(new BNodeImpl("")); + if ((subjVar.isAnonymous() || VarNameUtils.isAnonymous(subjName)) && subjectVar.getValue() == null) { + subjValue = Optional.of(VF.createBNode("")); } else { subjValue = Optional.ofNullable(subjectVar.getValue()); } @@ -93,12 +97,12 @@ public class ConstructProjection { /** * Returns a Var with info about the Value projected onto the RyaStatement - * subject. If the org.openrdf.query.algebra.Var returned by this method is + * subject. If the org.eclipse.rdf4j.query.algebra.Var returned by this method is * not constant (as indicated by {@link Var#isConstant()}, then * {@link Var#getName()} is the Binding name that gets projected. If the Var * is constant, then {@link Var#getValue()} is assigned to the subject * - * @return {@link org.openrdf.query.algebra.Var} containing info about + * @return {@link org.eclipse.rdf4j.query.algebra.Var} containing info about * Binding that gets projected onto the subject */ public String getSubjectSourceName() { @@ -107,12 +111,12 @@ public class ConstructProjection { /** * Returns a Var with info about the Value projected onto the RyaStatement - * predicate. If the org.openrdf.query.algebra.Var returned by this method + * predicate. If the org.eclipse.rdf4j.query.algebra.Var returned by this method * is not constant (as indicated by {@link Var#isConstant()}, then * {@link Var#getName()} is the Binding name that gets projected. If the Var * is constant, then {@link Var#getValue()} is assigned to the predicate * - * @return {@link org.openrdf.query.algebra.Var} containing info about + * @return {@link org.eclipse.rdf4j.query.algebra.Var} containing info about * Binding that gets projected onto the predicate */ public String getPredicateSourceName() { @@ -121,12 +125,12 @@ public class ConstructProjection { /** * Returns a Var with info about the Value projected onto the RyaStatement - * object. If the org.openrdf.query.algebra.Var returned by this method is + * object. If the org.eclipse.rdf4j.query.algebra.Var returned by this method is * not constant (as indicated by {@link Var#isConstant()}, then * {@link Var#getName()} is the Binding name that gets projected. If the Var * is constant, then {@link Var#getValue()} is assigned to the object * - * @return {@link org.openrdf.query.algebra.Var} containing info about + * @return {@link org.eclipse.rdf4j.query.algebra.Var} containing info about * Binding that gets projected onto the object */ public String getObjectSourceName() { @@ -157,9 +161,9 @@ public class ConstructProjection { /** * @return SubjectPattern representation of this ConstructProjection - * containing the {@link ConstructProjection#subjectSourceVar}, - * {@link ConstructProjection#predicateSourceVar}, - * {@link ConstructProjection#objectSourceVar} + * containing the {@link ConstructProjection#getSubjectSourceName}, + * {@link ConstructProjection#getPredicateSourceName}, + * {@link ConstructProjection#getObjectSourceName} */ public StatementPattern getStatementPatternRepresentation() { return new StatementPattern(subjVar, predVar, objVar); @@ -168,22 +172,22 @@ public class ConstructProjection { /** * Projects a given BindingSet onto a RyaStatement. The subject, predicate, * and object are extracted from the input VisibilityBindingSet (if the - * subjectSourceVar, predicateSourceVar, objectSourceVar is resp. - * non-constant) and from the Var Value itself (if subjectSourceVar, - * predicateSource, objectSourceVar is resp. constant). + * getSubjectSourceName, getPredicateSourceName, getObjectSourceName is resp. + * non-constant) and from the Var Value itself (if getSubjectSourceName, + * predicateSource, getObjectSourceName is resp. constant). * * * @param vBs * - Visibility BindingSet that gets projected onto an RDF * Statement BindingSet with Binding names subject, predicate and * object - * @param bNodeMap - Optional Map used to pass {@link BNode}s for given variable names into + * @param bNodes - Optional Map used to pass {@link BNode}s for given variable names into * multiple {@link ConstructProjection}s. This allows a ConstructGraph to create * RyaStatements with the same BNode for a given variable name across multiple ConstructProjections. * @return - RyaStatement whose values are determined by - * {@link ConstructProjection#getSubjectSourceVar()}, - * {@link ConstructProjection#getPredicateSourceVar()}, - * {@link ConstructProjection#getObjectSourceVar()}. + * {@link ConstructProjection#getSubjectSourceName()}, + * {@link ConstructProjection#getPredicateSourceName()}, + * {@link ConstructProjection#getObjectSourceName()}. * */ public RyaStatement projectBindingSet(VisibilityBindingSet vBs, Map<String, BNode> bNodes) { @@ -199,10 +203,10 @@ public class ConstructProjection { Preconditions.checkNotNull(pred); Preconditions.checkNotNull(obj); Preconditions.checkArgument(subj instanceof Resource); - Preconditions.checkArgument(pred instanceof URI); + Preconditions.checkArgument(pred instanceof IRI); RyaURI subjType = RdfToRyaConversions.convertResource((Resource) subj); - RyaURI predType = RdfToRyaConversions.convertURI((URI) pred); + RyaURI predType = RdfToRyaConversions.convertURI((IRI) pred); RyaType objectType = RdfToRyaConversions.convertValue(obj); RyaStatement statement = new RyaStatement(subjType, predType, objectType); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FilterResultUpdater.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FilterResultUpdater.java b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FilterResultUpdater.java index 23d9fdf..d34b949 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FilterResultUpdater.java +++ b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FilterResultUpdater.java @@ -28,28 +28,28 @@ import org.apache.rya.indexing.pcj.fluo.app.query.FluoQueryColumns; import org.apache.rya.indexing.pcj.fluo.app.util.FilterSerializer; import org.apache.rya.indexing.pcj.storage.accumulo.VariableOrder; import org.apache.rya.indexing.pcj.storage.accumulo.VisibilityBindingSetSerDe; -import org.openrdf.model.Resource; -import org.openrdf.model.Statement; -import org.openrdf.model.URI; -import org.openrdf.model.Value; -import org.openrdf.model.ValueFactory; -import org.openrdf.model.impl.ValueFactoryImpl; -import org.openrdf.query.BindingSet; -import org.openrdf.query.QueryEvaluationException; -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.FunctionCall; -import org.openrdf.query.algebra.ValueExpr; -import org.openrdf.query.algebra.evaluation.TripleSource; -import org.openrdf.query.algebra.evaluation.ValueExprEvaluationException; -import org.openrdf.query.algebra.evaluation.function.FunctionRegistry; -import org.openrdf.query.algebra.evaluation.impl.EvaluationStrategyImpl; -import org.openrdf.query.algebra.evaluation.util.QueryEvaluationUtil; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Resource; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.model.Value; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; +import org.eclipse.rdf4j.query.BindingSet; +import org.eclipse.rdf4j.query.QueryEvaluationException; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.FunctionCall; +import org.eclipse.rdf4j.query.algebra.ValueExpr; +import org.eclipse.rdf4j.query.algebra.evaluation.TripleSource; +import org.eclipse.rdf4j.query.algebra.evaluation.ValueExprEvaluationException; +import org.eclipse.rdf4j.query.algebra.evaluation.function.FunctionRegistry; +import org.eclipse.rdf4j.query.algebra.evaluation.impl.StrictEvaluationStrategy; +import org.eclipse.rdf4j.query.algebra.evaluation.util.QueryEvaluationUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import edu.umd.cs.findbugs.annotations.DefaultAnnotation; import edu.umd.cs.findbugs.annotations.NonNull; -import info.aduna.iteration.CloseableIteration; /** * Updates the results of a Filter node when its child has added a new Binding @@ -65,9 +65,9 @@ public class FilterResultUpdater extends AbstractNodeUpdater { /** * Is used to evaluate the conditions of a {@link Filter}. */ - private static final EvaluationStrategyImpl evaluator = new EvaluationStrategyImpl( + private static final StrictEvaluationStrategy evaluator = new StrictEvaluationStrategy( new TripleSource() { - private final ValueFactory valueFactory = new ValueFactoryImpl(); + private final ValueFactory valueFactory = SimpleValueFactory.getInstance(); @Override public ValueFactory getValueFactory() { @@ -77,12 +77,12 @@ public class FilterResultUpdater extends AbstractNodeUpdater { @Override public CloseableIteration<? extends Statement, QueryEvaluationException> getStatements( final Resource arg0, - final URI arg1, + final IRI arg1, final Value arg2, final Resource... arg3) throws QueryEvaluationException { throw new UnsupportedOperationException(); } - }); + },null); /** * Updates the results of a Filter node when one of its child has added a http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FluoStringConverter.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FluoStringConverter.java b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FluoStringConverter.java index 43a36de..ca98faf 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FluoStringConverter.java +++ b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/FluoStringConverter.java @@ -23,38 +23,37 @@ import static org.apache.rya.indexing.pcj.fluo.app.IncrementalUpdateConstants.DE import static org.apache.rya.indexing.pcj.fluo.app.IncrementalUpdateConstants.TYPE_DELIM; import static org.apache.rya.indexing.pcj.fluo.app.IncrementalUpdateConstants.URI_TYPE; -import edu.umd.cs.findbugs.annotations.DefaultAnnotation; -import edu.umd.cs.findbugs.annotations.NonNull; - -import org.openrdf.model.BNode; -import org.openrdf.model.Literal; -import org.openrdf.model.URI; -import org.openrdf.model.Value; -import org.openrdf.model.impl.BNodeImpl; -import org.openrdf.model.impl.LiteralImpl; -import org.openrdf.model.impl.URIImpl; -import org.openrdf.query.BindingSet; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.Var; - -import com.google.common.base.Preconditions; - import org.apache.rya.api.domain.RyaSchema; import org.apache.rya.api.domain.RyaType; +import org.apache.rya.api.domain.VarNameUtils; import org.apache.rya.api.resolver.RdfToRyaConversions; +import org.eclipse.rdf4j.model.BNode; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Literal; +import org.eclipse.rdf4j.model.Value; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; +import org.eclipse.rdf4j.query.BindingSet; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.Var; + +import com.google.common.base.Preconditions; + +import edu.umd.cs.findbugs.annotations.DefaultAnnotation; +import edu.umd.cs.findbugs.annotations.NonNull; /** - * Contains method that convert between the Sesame representations of RDF + * Contains method that convert between the RDF4J representations of RDF * components and the Strings that are used by the Fluo PCJ application. */ @DefaultAnnotation(NonNull.class) public class FluoStringConverter { /** - * Extract the {@link Binding} strings from a {@link BindingSet}'s string form. + * Extract the {@link BindingSet} strings from a {@link BindingSet}'s string form. * * @param bindingSetString - A {@link BindingSet} in its Fluo String form. (not null) - * @return The set's {@link Binding}s in Fluo String form. (not null) + * @return The set's {@link BindingSet}s in Fluo String form. (not null) */ public static String[] toBindingStrings(final String bindingSetString) { checkNotNull(bindingSetString); @@ -66,7 +65,7 @@ public class FluoStringConverter { * into the object version. * * @param patternString - The {@link StatementPattern} represented as a String. (not null) - * @return A {@link StatementPatter} built from the string. + * @return A {@link StatementPattern} built from the string. */ public static StatementPattern toStatementPattern(final String patternString) { checkNotNull(patternString); @@ -93,29 +92,30 @@ public class FluoStringConverter { checkNotNull(varString); final String[] varParts = varString.split(TYPE_DELIM); final String name = varParts[0]; - + final ValueFactory vf = SimpleValueFactory.getInstance(); + // The variable is a constant value. if(varParts.length > 1) { final String dataTypeString = varParts[1]; if(dataTypeString.equals(URI_TYPE)) { // Handle a URI object. Preconditions.checkArgument(varParts.length == 2); - final String valueString = name.substring("-const-".length()); - final Var var = new Var(name, new URIImpl(valueString)); + final String valueString = VarNameUtils.removeConstant(name); + final Var var = new Var(name, vf.createIRI(valueString)); var.setConstant(true); return var; - } else if(dataTypeString.equals(RyaSchema.BNODE_NAMESPACE)) { + } else if(dataTypeString.equals(RyaSchema.BNODE_NAMESPACE)) { // Handle a BNode object Preconditions.checkArgument(varParts.length == 3); - Var var = new Var(name); - var.setValue(new BNodeImpl(varParts[2])); + final Var var = new Var(name); + var.setValue(vf.createBNode(varParts[2])); return var; } else { // Handle a Literal Value. Preconditions.checkArgument(varParts.length == 2); - final String valueString = name.substring("-const-".length()); - final URI dataType = new URIImpl(dataTypeString); - final Literal value = new LiteralImpl(valueString, dataType); + final String valueString = VarNameUtils.removeConstant(name); + final IRI dataType = vf.createIRI(dataTypeString); + final Literal value = vf.createLiteral(valueString, dataType); final Var var = new Var(name, value); var.setConstant(true); return var; @@ -141,24 +141,28 @@ public class FluoStringConverter { final Var subjVar = sp.getSubjectVar(); String subj = subjVar.getName(); if(subjVar.getValue() != null) { - Value subjValue = subjVar.getValue(); + final Value subjValue = subjVar.getValue(); + subj = VarNameUtils.createSimpleConstVarName(subjVar); if (subjValue instanceof BNode ) { - subj = subj + TYPE_DELIM + RyaSchema.BNODE_NAMESPACE + TYPE_DELIM + ((BNode) subjValue).getID(); + subj = subj + TYPE_DELIM + RyaSchema.BNODE_NAMESPACE + TYPE_DELIM + ((BNode) subjValue).getID(); } else { subj = subj + TYPE_DELIM + URI_TYPE; } - } + } final Var predVar = sp.getPredicateVar(); String pred = predVar.getName(); if(predVar.getValue() != null) { + pred = VarNameUtils.createSimpleConstVarName(predVar); pred = pred + TYPE_DELIM + URI_TYPE; } final Var objVar = sp.getObjectVar(); String obj = objVar.getName(); if (objVar.getValue() != null) { - final RyaType rt = RdfToRyaConversions.convertValue(objVar.getValue()); + final Value objValue = objVar.getValue(); + obj = VarNameUtils.createSimpleConstVarName(objVar); + final RyaType rt = RdfToRyaConversions.convertValue(objValue); obj = obj + TYPE_DELIM + rt.getDataType().stringValue(); } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/PeriodicQueryUpdater.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/PeriodicQueryUpdater.java b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/PeriodicQueryUpdater.java index 5171eee..e487802 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/PeriodicQueryUpdater.java +++ b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/PeriodicQueryUpdater.java @@ -29,11 +29,11 @@ import org.apache.rya.api.model.VisibilityBindingSet; import org.apache.rya.indexing.pcj.fluo.app.query.FluoQueryColumns; import org.apache.rya.indexing.pcj.fluo.app.query.PeriodicQueryMetadata; import org.apache.rya.indexing.pcj.storage.accumulo.VisibilityBindingSetSerDe; -import org.openrdf.model.Literal; -import org.openrdf.model.Value; -import org.openrdf.model.ValueFactory; -import org.openrdf.model.impl.ValueFactoryImpl; -import org.openrdf.query.algebra.evaluation.QueryBindingSet; +import org.eclipse.rdf4j.model.Literal; +import org.eclipse.rdf4j.model.Value; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; +import org.eclipse.rdf4j.query.algebra.evaluation.QueryBindingSet; /** * This class adds the appropriate BinId Binding to each BindingSet that it processes. The BinIds @@ -44,7 +44,7 @@ import org.openrdf.query.algebra.evaluation.QueryBindingSet; public class PeriodicQueryUpdater extends AbstractNodeUpdater { private static final Logger log = Logger.getLogger(PeriodicQueryUpdater.class); - private static final ValueFactory vf = new ValueFactoryImpl(); + private static final ValueFactory VF = SimpleValueFactory.getInstance(); private static final VisibilityBindingSetSerDe BS_SERDE = new VisibilityBindingSetSerDe(); /** @@ -61,7 +61,7 @@ public class PeriodicQueryUpdater extends AbstractNodeUpdater { for(Long id: binIds) { //create binding set value bytes QueryBindingSet binnedBs = new QueryBindingSet(bs); - binnedBs.addBinding(IncrementalUpdateConstants.PERIODIC_BIN_ID, vf.createLiteral(id)); + binnedBs.addBinding(IncrementalUpdateConstants.PERIODIC_BIN_ID, VF.createLiteral(id)); VisibilityBindingSet visibilityBindingSet = new VisibilityBindingSet(binnedBs, bs.getVisibility()); Bytes periodicBsBytes = BS_SERDE.serialize(visibilityBindingSet); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ProjectionResultUpdater.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ProjectionResultUpdater.java b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ProjectionResultUpdater.java index eacbf99..8f94e36 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ProjectionResultUpdater.java +++ b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/ProjectionResultUpdater.java @@ -29,7 +29,7 @@ import org.apache.rya.indexing.pcj.fluo.app.query.ProjectionMetadata; import org.apache.rya.indexing.pcj.fluo.app.util.BindingSetUtil; import org.apache.rya.indexing.pcj.storage.accumulo.VariableOrder; import org.apache.rya.indexing.pcj.storage.accumulo.VisibilityBindingSetSerDe; -import org.openrdf.query.BindingSet; +import org.eclipse.rdf4j.query.BindingSet; import edu.umd.cs.findbugs.annotations.DefaultAnnotation; import edu.umd.cs.findbugs.annotations.NonNull; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/batch/JoinBatchInformation.java ---------------------------------------------------------------------- diff --git a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/batch/JoinBatchInformation.java b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/batch/JoinBatchInformation.java index ace9e76..e57ec88 100644 --- a/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/batch/JoinBatchInformation.java +++ b/extras/rya.pcj.fluo/pcj.fluo.app/src/main/java/org/apache/rya/indexing/pcj/fluo/app/batch/JoinBatchInformation.java @@ -17,6 +17,7 @@ package org.apache.rya.indexing.pcj.fluo.app.batch; * specific language governing permissions and limitations * under the License. */ + import java.util.Objects; import org.apache.fluo.api.data.Column; @@ -24,7 +25,7 @@ import org.apache.fluo.api.data.Span; import org.apache.rya.api.function.join.LazyJoiningIterator.Side; import org.apache.rya.api.model.VisibilityBindingSet; import org.apache.rya.indexing.pcj.fluo.app.query.JoinMetadata.JoinType; -import org.openrdf.query.Binding; +import org.eclipse.rdf4j.query.Binding; /** * This class updates join results based on parameters specified for the join's
