[GitHub] incubator-rya issue #201: RYA-295 owl:allValuesFrom inference

2017-08-08 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/201
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/373/



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (RYA-295) Implement owl:allValuesFrom inference

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16119046#comment-16119046
 ] 

ASF GitHub Bot commented on RYA-295:


Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/201
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/373/



> Implement owl:allValuesFrom inference
> -
>
> Key: RYA-295
> URL: https://issues.apache.org/jira/browse/RYA-295
> Project: Rya
>  Issue Type: Sub-task
>  Components: sail
>Reporter: Jesse Hatfield
>Assignee: Jesse Hatfield
>
> An *{{owl:allValuesFrom}}* restriction defines the set of resources for 
> which, given a particular predicate and other type, every value of that 
> predicate is a member of that type. Note that there may be no values at all.
> For example, the ontology may state that resources of type {{:Person}} have 
> all values from {{:Person}} for type {{:parent}}: that is, a person's parents 
> are all people as well. Therefore, a pattern of the form {{?x rdf:type 
> :Person}} should be expanded to:
> {noformat}
> { ?y rdf:type :Person .
>   ?y :parent ?x }
> UNION
> { ?x rdf:type :Person }
> {noformat}
> i.e. we can infer {{?x}}'s personhood from the fact that child {{?y}} is 
> known to satisfy the restriction.
> Notes:
> -We can infer "x is a person, therefore all of x's parents are people". But 
> we can't infer "all of x's parents are people, therefore x is a person", 
> because of the open world semantics: we don't know that the parents given by 
> the data are in fact all of x's parents. (If there were also a cardinality 
> restriction and we could presume consistency, then we could infer this in the 
> right circumstances, but this is outside the scope of basic allValuesFrom 
> support.) This differs with most other property restriction rules in that we 
> can't infer that an object belongs to the class defined by the restriction, 
> but rather use the fact that an object is already known to belong in that 
> class in order to infer something about its neighbors in the graph (the types 
> of the values).
> -The example above could be applied recursively, but to implement this as a 
> simple query rewrite we'll need to limit recursion depth (and interactions 
> with other rules, for the same reasons).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Assigned] (RYA-294) Implement owl:someValuesFrom inference

2017-08-08 Thread Jesse Hatfield (JIRA)

 [ 
https://issues.apache.org/jira/browse/RYA-294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jesse Hatfield reassigned RYA-294:
--

Assignee: Jesse Hatfield

> Implement owl:someValuesFrom inference
> --
>
> Key: RYA-294
> URL: https://issues.apache.org/jira/browse/RYA-294
> Project: Rya
>  Issue Type: Sub-task
>  Components: sail
>Reporter: Jesse Hatfield
>Assignee: Jesse Hatfield
>
> An *{{owl:someValuesFrom}}* restriction defines the set of resources which, 
> for a given predicate and other type, have at least one value of that other 
> type for that predicate.
> If the ontology states that {{:Chair}} is the set of resources who are 
> {{:headOf}} at least one resource which must itself be a {{:Department}}, 
> then:
> {{?x rdf:type :Chair}}
> should be expanded to:
> {noformat}
> { ?x :headOf ?dept .
>   ?dept rdf:type :Department  }
> UNION
> {?x rdf:type :Chair }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (RYA-297) Implement owl:equivalentClass inference

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118383#comment-16118383
 ] 

ASF GitHub Bot commented on RYA-297:


Github user ejwhite922 commented on the issue:

https://github.com/apache/incubator-rya/pull/184
  
Looks good.


> Implement owl:equivalentClass inference
> ---
>
> Key: RYA-297
> URL: https://issues.apache.org/jira/browse/RYA-297
> Project: Rya
>  Issue Type: Sub-task
>  Components: sail
>Reporter: Jesse Hatfield
>Assignee: Jesse Hatfield
>
> An *{{owl:equivalentClass}}* statement is equivalent to stating that two 
> classes are each subclasses of the other.
> The inference engine already supports subclass reasoning, but appears not to 
> check for equivalent class statements. This can likely be handled by adding 
> the relationship to the subclass graph in both directions, as seems to be 
> done for equivalent properties.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] incubator-rya issue #184: RYA-297 Added owl:equivalentClass inference

2017-08-08 Thread ejwhite922
Github user ejwhite922 commented on the issue:

https://github.com/apache/incubator-rya/pull/184
  
Looks good.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (RYA-293) Implement owl:unionOf inference

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118370#comment-16118370
 ] 

ASF GitHub Bot commented on RYA-293:


Github user ejwhite922 commented on the issue:

https://github.com/apache/incubator-rya/pull/180
  
Looks good.  Rebasing with master and pushing should fix the build issue.


> Implement owl:unionOf inference
> ---
>
> Key: RYA-293
> URL: https://issues.apache.org/jira/browse/RYA-293
> Project: Rya
>  Issue Type: Sub-task
>  Components: sail
>Reporter: Jesse Hatfield
>Assignee: Jesse Hatfield
>
> An *{{owl:unionOf}}* expression defines one type to be equivalent to the 
> union of another set of types. If the ontology states that {{:Parent}} is the 
> union of {{:Mother}} and {{:Father}}, then the inference engine should 
> rewrite statement patterns of the form {{?x rdf:type :Parent}} to check for 
> resources that are stated to be any of the types {{:Mother}}, {{:Father}}, or 
> {{:Parent}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] incubator-rya issue #180: RYA-293 Added owl:unionOf inference

2017-08-08 Thread ejwhite922
Github user ejwhite922 commented on the issue:

https://github.com/apache/incubator-rya/pull/180
  
Looks good.  Rebasing with master and pushing should fix the build issue.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (RYA-297) Implement owl:equivalentClass inference

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118631#comment-16118631
 ] 

ASF GitHub Bot commented on RYA-297:


Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/184
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/370/



> Implement owl:equivalentClass inference
> ---
>
> Key: RYA-297
> URL: https://issues.apache.org/jira/browse/RYA-297
> Project: Rya
>  Issue Type: Sub-task
>  Components: sail
>Reporter: Jesse Hatfield
>Assignee: Jesse Hatfield
>
> An *{{owl:equivalentClass}}* statement is equivalent to stating that two 
> classes are each subclasses of the other.
> The inference engine already supports subclass reasoning, but appears not to 
> check for equivalent class statements. This can likely be handled by adding 
> the relationship to the subclass graph in both directions, as seems to be 
> done for equivalent properties.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] incubator-rya issue #199: RYA-316 Long OBJ string

2017-08-08 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/199
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/371/Failed
 Tests: 3incubator-rya-master-with-optionals-pull-requests/org.apache.rya:rya.prospector:
 3org.apache.rya.prospector.mr.ProspectorTest.testCountorg.apache.rya.prospector.service.ProspectorServiceEvalStatsDAOTest.testCountorg.apache.rya.prospector.service.ProspectorServiceEvalStatsDAOTest.testNoAuthsCount



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rya issue #199: RYA-316 Long OBJ string

2017-08-08 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/199
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/372/



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (RYA-316) Long LineStrings break MongoDB ingest

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118632#comment-16118632
 ] 

ASF GitHub Bot commented on RYA-316:


Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/199
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/371/Failed
 Tests: 3incubator-rya-master-with-optionals-pull-requests/org.apache.rya:rya.prospector:
 3org.apache.rya.prospector.mr.ProspectorTest.testCountorg.apache.rya.prospector.service.ProspectorServiceEvalStatsDAOTest.testCountorg.apache.rya.prospector.service.ProspectorServiceEvalStatsDAOTest.testNoAuthsCount



> Long LineStrings break MongoDB ingest
> -
>
> Key: RYA-316
> URL: https://issues.apache.org/jira/browse/RYA-316
> Project: Rya
>  Issue Type: Bug
>  Components: dao
>Reporter: Aaron Mihalik
>Assignee: Andrew Smith
>
> MongoDB will reject statements they contain very long linestrings.  
> Basically, the mongodb index key is limited to 1024 chars, so the insert will 
> fail if the literal is longer.
> [Here is some example 
> code|https://github.com/amihalik/rya-mongo-debugging/blob/master/src/main/java/com/github/amihalik/rya/mongo/debugging/linestring/LoadLineString.java].
>   I think the inserts will work if you use 10 points, but fail if you use 
> linestrings with 100 points.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (RYA-316) Long LineStrings break MongoDB ingest

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118678#comment-16118678
 ] 

ASF GitHub Bot commented on RYA-316:


Github user isper3at commented on the issue:

https://github.com/apache/incubator-rya/pull/199
  
asfbot build


> Long LineStrings break MongoDB ingest
> -
>
> Key: RYA-316
> URL: https://issues.apache.org/jira/browse/RYA-316
> Project: Rya
>  Issue Type: Bug
>  Components: dao
>Reporter: Aaron Mihalik
>Assignee: Andrew Smith
>
> MongoDB will reject statements they contain very long linestrings.  
> Basically, the mongodb index key is limited to 1024 chars, so the insert will 
> fail if the literal is longer.
> [Here is some example 
> code|https://github.com/amihalik/rya-mongo-debugging/blob/master/src/main/java/com/github/amihalik/rya/mongo/debugging/linestring/LoadLineString.java].
>   I think the inserts will work if you use 10 points, but fail if you use 
> linestrings with 100 points.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] incubator-rya issue #199: RYA-316 Long OBJ string

2017-08-08 Thread isper3at
Github user isper3at commented on the issue:

https://github.com/apache/incubator-rya/pull/199
  
asfbot build


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rya pull request #191: RYA-306 Remove rya.benchmark committed gen

2017-08-08 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/incubator-rya/pull/191


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (RYA-306) remove generated source from git

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118912#comment-16118912
 ] 

ASF GitHub Bot commented on RYA-306:


Github user asfgit closed the pull request at:

https://github.com/apache/incubator-rya/pull/191


> remove generated source from git
> 
>
> Key: RYA-306
> URL: https://issues.apache.org/jira/browse/RYA-306
> Project: Rya
>  Issue Type: Bug
>  Components: build
>Reporter: Jeff Dasch
>Assignee: Eric White
>Priority: Trivial
>
> Several files in {{extras/rya.benchmark/src/main/gen}} get modified at 
> compile time.  They should be removed from git and configured to be created 
> in {{extras/rya.benchmark/target/generated-sources}} so they can be removed 
> by {{mvn clean}}.
> Files in question:
> {noformat}
>   modified:   extras/rya.benchmark/src/main/gen/META-INF/sun-jaxb.episode
>   modified:   
> extras/rya.benchmark/src/main/gen/org/apache/rya/benchmark/query/ObjectFactory.java
>   modified:   
> extras/rya.benchmark/src/main/gen/org/apache/rya/benchmark/query/Parameters.java
>   modified:   
> extras/rya.benchmark/src/main/gen/org/apache/rya/benchmark/query/QueriesBenchmarkConf.java
>   modified:   
> extras/rya.benchmark/src/main/gen/org/apache/rya/benchmark/query/Rya.java
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Closed] (RYA-306) remove generated source from git

2017-08-08 Thread Caleb Meier (JIRA)

 [ 
https://issues.apache.org/jira/browse/RYA-306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Caleb Meier closed RYA-306.
---
   Resolution: Fixed
Fix Version/s: 3.2.10

> remove generated source from git
> 
>
> Key: RYA-306
> URL: https://issues.apache.org/jira/browse/RYA-306
> Project: Rya
>  Issue Type: Bug
>  Components: build
>Reporter: Jeff Dasch
>Assignee: Eric White
>Priority: Trivial
> Fix For: 3.2.10
>
>
> Several files in {{extras/rya.benchmark/src/main/gen}} get modified at 
> compile time.  They should be removed from git and configured to be created 
> in {{extras/rya.benchmark/target/generated-sources}} so they can be removed 
> by {{mvn clean}}.
> Files in question:
> {noformat}
>   modified:   extras/rya.benchmark/src/main/gen/META-INF/sun-jaxb.episode
>   modified:   
> extras/rya.benchmark/src/main/gen/org/apache/rya/benchmark/query/ObjectFactory.java
>   modified:   
> extras/rya.benchmark/src/main/gen/org/apache/rya/benchmark/query/Parameters.java
>   modified:   
> extras/rya.benchmark/src/main/gen/org/apache/rya/benchmark/query/QueriesBenchmarkConf.java
>   modified:   
> extras/rya.benchmark/src/main/gen/org/apache/rya/benchmark/query/Rya.java
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] incubator-rya pull request #172: RYA-303 Mongo PCJ Support

2017-08-08 Thread meiercaleb
Github user meiercaleb commented on a diff in the pull request:

https://github.com/apache/incubator-rya/pull/172#discussion_r132020770
  
--- Diff: 
extras/indexing/src/main/java/org/apache/rya/indexing/mongodb/pcj/BasePcjIndexer.java
 ---
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rya.indexing.mongodb.pcj;
+
+import static com.google.common.base.Preconditions.checkState;
+import static java.util.Collections.singleton;
+import static java.util.Objects.requireNonNull;
+import static java.util.stream.Collectors.groupingBy;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.rya.api.domain.RyaStatement;
+import org.apache.rya.api.domain.RyaURI;
+import org.apache.rya.indexing.entity.model.Entity;
+import org.apache.rya.indexing.entity.storage.EntityStorage;
+import 
org.apache.rya.indexing.entity.storage.EntityStorage.EntityStorageException;
+import org.apache.rya.indexing.pcj.storage.mongo.MongoPcjDocuments;
+import org.apache.rya.mongodb.MongoDBRdfConfiguration;
+import org.apache.rya.mongodb.MongoSecondaryIndex;
+import org.openrdf.model.URI;
+
+import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
+import edu.umd.cs.findbugs.annotations.NonNull;
+
+/**
+ * A base class that may be used to update an {@link EntityStorage} as new
+ * {@link RyaStatement}s are added to/removed from the Rya instance.
+ */
+@DefaultAnnotation(NonNull.class)
+public abstract class BasePcjIndexer implements PcjIndexer, 
MongoSecondaryIndex {
+
+private final AtomicReference configuration = 
new AtomicReference<>();
+private final AtomicReference pcjDocs = new 
AtomicReference<>();
+
+@Override
+public void setConf(final Configuration conf) {
+requireNonNull(conf);
+pcjDocs.set( getPcjStorage(conf) );
+}
+
+@Override
+public Configuration getConf() {
+return configuration.get();
+}
+
+@Override
+public void storeStatement(final RyaStatement statement) throws 
IOException {
+requireNonNull(statement);
+storeStatements( singleton(statement) );
+}
+
+@Override
+public void storeStatements(final Collection statements) 
throws IOException {
+requireNonNull(statements);
--- End diff --

Yeah, I'm with Puja here.  A PcjIndex shouldn't deal with RyaStatements.  
It should instead deal with BindingSets.  Is this meant to be the API for the 
eventual MongoPcjUpdater?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rya pull request #172: RYA-303 Mongo PCJ Support

2017-08-08 Thread meiercaleb
Github user meiercaleb commented on a diff in the pull request:

https://github.com/apache/incubator-rya/pull/172#discussion_r132020821
  
--- Diff: 
extras/indexing/src/main/java/org/apache/rya/indexing/mongodb/pcj/BasePcjIndexer.java
 ---
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rya.indexing.mongodb.pcj;
+
+import static com.google.common.base.Preconditions.checkState;
+import static java.util.Collections.singleton;
+import static java.util.Objects.requireNonNull;
+import static java.util.stream.Collectors.groupingBy;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.rya.api.domain.RyaStatement;
+import org.apache.rya.api.domain.RyaURI;
+import org.apache.rya.indexing.entity.model.Entity;
+import org.apache.rya.indexing.entity.storage.EntityStorage;
+import 
org.apache.rya.indexing.entity.storage.EntityStorage.EntityStorageException;
+import org.apache.rya.indexing.pcj.storage.mongo.MongoPcjDocuments;
+import org.apache.rya.mongodb.MongoDBRdfConfiguration;
+import org.apache.rya.mongodb.MongoSecondaryIndex;
+import org.openrdf.model.URI;
+
+import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
+import edu.umd.cs.findbugs.annotations.NonNull;
+
+/**
+ * A base class that may be used to update an {@link EntityStorage} as new
+ * {@link RyaStatement}s are added to/removed from the Rya instance.
+ */
+@DefaultAnnotation(NonNull.class)
+public abstract class BasePcjIndexer implements PcjIndexer, 
MongoSecondaryIndex {
+
+private final AtomicReference configuration = 
new AtomicReference<>();
+private final AtomicReference pcjDocs = new 
AtomicReference<>();
+
+@Override
+public void setConf(final Configuration conf) {
+requireNonNull(conf);
+pcjDocs.set( getPcjStorage(conf) );
+}
+
+@Override
+public Configuration getConf() {
+return configuration.get();
+}
+
+@Override
+public void storeStatement(final RyaStatement statement) throws 
IOException {
+requireNonNull(statement);
+storeStatements( singleton(statement) );
+}
+
+@Override
+public void storeStatements(final Collection statements) 
throws IOException {
+requireNonNull(statements);
+
+final Map groupedBySubject = 
statements.stream()
+.collect(groupingBy(RyaStatement::getSubject));
+
+for(final Entry entry : 
groupedBySubject.entrySet()) {
+try {
+updateEntity(entry.getKey(), entry.getValue());
+} catch (final EntityStorageException e) {
+throw new IOException("Failed to update the Entity 
index.", e);
+}
+}
+}
+
+/**
+ * Updates a {@link Entity} to reflect new {@link RyaStatement}s.
+ *
+ * @param subject - The Subject of the {@link Entity} the statements 
are for. (not null)
+ * @param statements - Statements that the {@link Entity} will be 
updated with. (not null)
+ */
+private void updateEntity(final RyaURI subject, final 
Collection statements) throws EntityStorageException {
+requireNonNull(subject);
--- End diff --

Agreed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (RYA-303) Mongo PCJ indexer support

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118961#comment-16118961
 ] 

ASF GitHub Bot commented on RYA-303:


Github user meiercaleb commented on a diff in the pull request:

https://github.com/apache/incubator-rya/pull/172#discussion_r132020821
  
--- Diff: 
extras/indexing/src/main/java/org/apache/rya/indexing/mongodb/pcj/BasePcjIndexer.java
 ---
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rya.indexing.mongodb.pcj;
+
+import static com.google.common.base.Preconditions.checkState;
+import static java.util.Collections.singleton;
+import static java.util.Objects.requireNonNull;
+import static java.util.stream.Collectors.groupingBy;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.rya.api.domain.RyaStatement;
+import org.apache.rya.api.domain.RyaURI;
+import org.apache.rya.indexing.entity.model.Entity;
+import org.apache.rya.indexing.entity.storage.EntityStorage;
+import 
org.apache.rya.indexing.entity.storage.EntityStorage.EntityStorageException;
+import org.apache.rya.indexing.pcj.storage.mongo.MongoPcjDocuments;
+import org.apache.rya.mongodb.MongoDBRdfConfiguration;
+import org.apache.rya.mongodb.MongoSecondaryIndex;
+import org.openrdf.model.URI;
+
+import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
+import edu.umd.cs.findbugs.annotations.NonNull;
+
+/**
+ * A base class that may be used to update an {@link EntityStorage} as new
+ * {@link RyaStatement}s are added to/removed from the Rya instance.
+ */
+@DefaultAnnotation(NonNull.class)
+public abstract class BasePcjIndexer implements PcjIndexer, 
MongoSecondaryIndex {
+
+private final AtomicReference configuration = 
new AtomicReference<>();
+private final AtomicReference pcjDocs = new 
AtomicReference<>();
+
+@Override
+public void setConf(final Configuration conf) {
+requireNonNull(conf);
+pcjDocs.set( getPcjStorage(conf) );
+}
+
+@Override
+public Configuration getConf() {
+return configuration.get();
+}
+
+@Override
+public void storeStatement(final RyaStatement statement) throws 
IOException {
+requireNonNull(statement);
+storeStatements( singleton(statement) );
+}
+
+@Override
+public void storeStatements(final Collection statements) 
throws IOException {
+requireNonNull(statements);
+
+final Map groupedBySubject = 
statements.stream()
+.collect(groupingBy(RyaStatement::getSubject));
+
+for(final Entry entry : 
groupedBySubject.entrySet()) {
+try {
+updateEntity(entry.getKey(), entry.getValue());
+} catch (final EntityStorageException e) {
+throw new IOException("Failed to update the Entity 
index.", e);
+}
+}
+}
+
+/**
+ * Updates a {@link Entity} to reflect new {@link RyaStatement}s.
+ *
+ * @param subject - The Subject of the {@link Entity} the statements 
are for. (not null)
+ * @param statements - Statements that the {@link Entity} will be 
updated with. (not null)
+ */
+private void updateEntity(final RyaURI subject, final 
Collection statements) throws EntityStorageException {
+requireNonNull(subject);
--- End diff --

Agreed.


> Mongo PCJ indexer support
> -
>
> Key: RYA-303
> URL: https://issues.apache.org/jira/browse/RYA-303
> Project: Rya

[jira] [Commented] (RYA-303) Mongo PCJ indexer support

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118960#comment-16118960
 ] 

ASF GitHub Bot commented on RYA-303:


Github user meiercaleb commented on a diff in the pull request:

https://github.com/apache/incubator-rya/pull/172#discussion_r132020770
  
--- Diff: 
extras/indexing/src/main/java/org/apache/rya/indexing/mongodb/pcj/BasePcjIndexer.java
 ---
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rya.indexing.mongodb.pcj;
+
+import static com.google.common.base.Preconditions.checkState;
+import static java.util.Collections.singleton;
+import static java.util.Objects.requireNonNull;
+import static java.util.stream.Collectors.groupingBy;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicReference;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.rya.api.domain.RyaStatement;
+import org.apache.rya.api.domain.RyaURI;
+import org.apache.rya.indexing.entity.model.Entity;
+import org.apache.rya.indexing.entity.storage.EntityStorage;
+import 
org.apache.rya.indexing.entity.storage.EntityStorage.EntityStorageException;
+import org.apache.rya.indexing.pcj.storage.mongo.MongoPcjDocuments;
+import org.apache.rya.mongodb.MongoDBRdfConfiguration;
+import org.apache.rya.mongodb.MongoSecondaryIndex;
+import org.openrdf.model.URI;
+
+import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
+import edu.umd.cs.findbugs.annotations.NonNull;
+
+/**
+ * A base class that may be used to update an {@link EntityStorage} as new
+ * {@link RyaStatement}s are added to/removed from the Rya instance.
+ */
+@DefaultAnnotation(NonNull.class)
+public abstract class BasePcjIndexer implements PcjIndexer, 
MongoSecondaryIndex {
+
+private final AtomicReference configuration = 
new AtomicReference<>();
+private final AtomicReference pcjDocs = new 
AtomicReference<>();
+
+@Override
+public void setConf(final Configuration conf) {
+requireNonNull(conf);
+pcjDocs.set( getPcjStorage(conf) );
+}
+
+@Override
+public Configuration getConf() {
+return configuration.get();
+}
+
+@Override
+public void storeStatement(final RyaStatement statement) throws 
IOException {
+requireNonNull(statement);
+storeStatements( singleton(statement) );
+}
+
+@Override
+public void storeStatements(final Collection statements) 
throws IOException {
+requireNonNull(statements);
--- End diff --

Yeah, I'm with Puja here.  A PcjIndex shouldn't deal with RyaStatements.  
It should instead deal with BindingSets.  Is this meant to be the API for the 
eventual MongoPcjUpdater?


> Mongo PCJ indexer support
> -
>
> Key: RYA-303
> URL: https://issues.apache.org/jira/browse/RYA-303
> Project: Rya
>  Issue Type: Improvement
>Reporter: Andrew Smith
>Assignee: Andrew Smith
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] incubator-rya pull request #201: RYA-295 owl:allValuesFrom inference

2017-08-08 Thread jessehatfield
GitHub user jessehatfield opened a pull request:

https://github.com/apache/incubator-rya/pull/201

RYA-295 owl:allValuesFrom inference


## Description
Inference applies owl:allValuesFrom semantics for queries including 
statement patterns of the form "?x rdf:type :DefinedClass".

An owl:allValuesFrom property restriction is a universal class expression: 
it defines type T1 to be the set of individuals such that, for a given property 
p and type T2, all values of that property (i.e. all objects of triples where 
the predicate is p and the subject belongs to T1) have type T2. Therefore, if 
an individual is known to belong to the universal class expression (T1), then 
it can be inferred that all of its values for the property belong to the value 
type (T2). This is similar to rdfs:range except that it only applies when the 
subject of the triple belongs to the appropriate class expression.

InferenceEngine, at refresh time, stores information about 
owl:allValuesFrom restrictions (universal class expressions). These definitions 
can then be accessed by the value type: getAllValuesFromByValueType() returns every (restriction type, property) pair.

AllValuesFromVisitor processes statement patterns of the form "?x rdf:type 
:T2", and if :T2 is the value type for any owl:allValuesFrom restriction 
according to the inference engine, it replaces the statement pattern with a 
union: of 1) that same statement pattern (in case the type is explicitly 
asserted or can be inferred by some other rule); and 2) a subquery of the form 
"?y \:p ?x . ?y rdf:type :T1" for the appropriate (restriction type, property) 
pair.

RdfCloudTripleStoreConnection calls the visitor along with the other 
inference logic. Because the original statement pattern is preserved as one 
branch of the union, other visitors can still apply if there are other ways to 
derive the type.

Added a simple example of a query that relies on this inference to 
MongoRyaDirectExample.

### Tests
Unit test to verify that InferenceEngine stores and returns the schema; 
unit test to verify that AllValuesFromVisitor rewrites queries of the proper 
form; integration test to verify correct results for sample 
ontology+instances+query relying on allValuesFrom inference.

### Links
[Jira](https://issues.apache.org/jira/browse/RYA-295)

### Checklist
- [ ] Code Review
- [ ] Squash Commits

 People To Reivew
@ejwhite922 
@isper3at 
@meiercaleb 
@pujav65 

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/jessehatfield/incubator-rya 
RYA-295-allValuesFrom-inference

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rya/pull/201.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #201


commit 55eae37e2f4aaef2f8cd41c735241c2ae85b88af
Author: Jesse Hatfield 
Date:   2017-08-08T19:58:10Z

RYA-295 owl:allValuesFrom inference




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (RYA-295) Implement owl:allValuesFrom inference

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16119001#comment-16119001
 ] 

ASF GitHub Bot commented on RYA-295:


GitHub user jessehatfield opened a pull request:

https://github.com/apache/incubator-rya/pull/201

RYA-295 owl:allValuesFrom inference


## Description
Inference applies owl:allValuesFrom semantics for queries including 
statement patterns of the form "?x rdf:type :DefinedClass".

An owl:allValuesFrom property restriction is a universal class expression: 
it defines type T1 to be the set of individuals such that, for a given property 
p and type T2, all values of that property (i.e. all objects of triples where 
the predicate is p and the subject belongs to T1) have type T2. Therefore, if 
an individual is known to belong to the universal class expression (T1), then 
it can be inferred that all of its values for the property belong to the value 
type (T2). This is similar to rdfs:range except that it only applies when the 
subject of the triple belongs to the appropriate class expression.

InferenceEngine, at refresh time, stores information about 
owl:allValuesFrom restrictions (universal class expressions). These definitions 
can then be accessed by the value type: getAllValuesFromByValueType() returns every (restriction type, property) pair.

AllValuesFromVisitor processes statement patterns of the form "?x rdf:type 
:T2", and if :T2 is the value type for any owl:allValuesFrom restriction 
according to the inference engine, it replaces the statement pattern with a 
union: of 1) that same statement pattern (in case the type is explicitly 
asserted or can be inferred by some other rule); and 2) a subquery of the form 
"?y \:p ?x . ?y rdf:type :T1" for the appropriate (restriction type, property) 
pair.

RdfCloudTripleStoreConnection calls the visitor along with the other 
inference logic. Because the original statement pattern is preserved as one 
branch of the union, other visitors can still apply if there are other ways to 
derive the type.

Added a simple example of a query that relies on this inference to 
MongoRyaDirectExample.

### Tests
Unit test to verify that InferenceEngine stores and returns the schema; 
unit test to verify that AllValuesFromVisitor rewrites queries of the proper 
form; integration test to verify correct results for sample 
ontology+instances+query relying on allValuesFrom inference.

### Links
[Jira](https://issues.apache.org/jira/browse/RYA-295)

### Checklist
- [ ] Code Review
- [ ] Squash Commits

 People To Reivew
@ejwhite922 
@isper3at 
@meiercaleb 
@pujav65 

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/jessehatfield/incubator-rya 
RYA-295-allValuesFrom-inference

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rya/pull/201.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #201


commit 55eae37e2f4aaef2f8cd41c735241c2ae85b88af
Author: Jesse Hatfield 
Date:   2017-08-08T19:58:10Z

RYA-295 owl:allValuesFrom inference




> Implement owl:allValuesFrom inference
> -
>
> Key: RYA-295
> URL: https://issues.apache.org/jira/browse/RYA-295
> Project: Rya
>  Issue Type: Sub-task
>  Components: sail
>Reporter: Jesse Hatfield
>Assignee: Jesse Hatfield
>
> An *{{owl:allValuesFrom}}* restriction defines the set of resources for 
> which, given a particular predicate and other type, every value of that 
> predicate is a member of that type. Note that there may be no values at all.
> For example, the ontology may state that resources of type {{:Person}} have 
> all values from {{:Person}} for type {{:parent}}: that is, a person's parents 
> are all people as well. Therefore, a pattern of the form {{?x rdf:type 
> :Person}} should be expanded to:
> {noformat}
> { ?y rdf:type :Person .
>   ?y :parent ?x }
> UNION
> { ?x rdf:type :Person }
> {noformat}
> i.e. we can infer {{?x}}'s personhood from the fact that child {{?y}} is 
> known to satisfy the restriction.
> Notes:
> -We can infer "x is a person, therefore all of x's parents are people". But 
> we can't infer "all of x's parents are people, therefore x is a person", 
> because of the open world semantics: we don't know that the parents given by 
> the data are in fact all of x's parents. (If there were also a cardinality 
> restriction and we could presume consistency, then we could infer this in the 
> right circumstances, but this is outside the scope of basic allValuesFrom 
> support.) This differs with 

[jira] [Commented] (RYA-293) Implement owl:unionOf inference

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118473#comment-16118473
 ] 

ASF GitHub Bot commented on RYA-293:


Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/180
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/367/



> Implement owl:unionOf inference
> ---
>
> Key: RYA-293
> URL: https://issues.apache.org/jira/browse/RYA-293
> Project: Rya
>  Issue Type: Sub-task
>  Components: sail
>Reporter: Jesse Hatfield
>Assignee: Jesse Hatfield
>
> An *{{owl:unionOf}}* expression defines one type to be equivalent to the 
> union of another set of types. If the ontology states that {{:Parent}} is the 
> union of {{:Mother}} and {{:Father}}, then the inference engine should 
> rewrite statement patterns of the form {{?x rdf:type :Parent}} to check for 
> resources that are stated to be any of the types {{:Mother}}, {{:Father}}, or 
> {{:Parent}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] incubator-rya issue #180: RYA-293 Added owl:unionOf inference

2017-08-08 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/180
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/367/



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rya issue #191: RYA-306 Remove rya.benchmark committed gen

2017-08-08 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/191
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/366/



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rya issue #199: RYA-316 Long OBJ string

2017-08-08 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/199
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/369/Failed
 Tests: 1incubator-rya-master-with-optionals-pull-requests/org.apache.rya:mongodb.rya:
 1org.apache.rya.mongodb.SimpleMongoDBStorageStrategyTest.testSerializeStatementToDBO



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (RYA-316) Long LineStrings break MongoDB ingest

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118523#comment-16118523
 ] 

ASF GitHub Bot commented on RYA-316:


Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/199
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/369/Failed
 Tests: 1incubator-rya-master-with-optionals-pull-requests/org.apache.rya:mongodb.rya:
 1org.apache.rya.mongodb.SimpleMongoDBStorageStrategyTest.testSerializeStatementToDBO



> Long LineStrings break MongoDB ingest
> -
>
> Key: RYA-316
> URL: https://issues.apache.org/jira/browse/RYA-316
> Project: Rya
>  Issue Type: Bug
>  Components: dao
>Reporter: Aaron Mihalik
>Assignee: Andrew Smith
>
> MongoDB will reject statements they contain very long linestrings.  
> Basically, the mongodb index key is limited to 1024 chars, so the insert will 
> fail if the literal is longer.
> [Here is some example 
> code|https://github.com/amihalik/rya-mongo-debugging/blob/master/src/main/java/com/github/amihalik/rya/mongo/debugging/linestring/LoadLineString.java].
>   I think the inserts will work if you use 10 points, but fail if you use 
> linestrings with 100 points.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] incubator-rya issue #199: RYA-316 Long OBJ string

2017-08-08 Thread asfgit
Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/199
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/368/Failed
 Tests: 2incubator-rya-master-with-optionals-pull-requests/org.apache.rya:mongodb.rya:
 1org.apache.rya.mongodb.SimpleMongoDBStorageStrategyTest.testSerializeStatementToDBOincubator-rya-master-with-optionals-pull-requests/org.apache.rya:rya.indexing:
 1org.apache.rya.indexing.mongo.MongoTemporalIndexerTest.org.apache.rya.indexing.mongo.MongoTemporalIndexerTest



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (RYA-316) Long LineStrings break MongoDB ingest

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/RYA-316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118539#comment-16118539
 ] 

ASF GitHub Bot commented on RYA-316:


Github user asfgit commented on the issue:

https://github.com/apache/incubator-rya/pull/199
  

Refer to this link for build results (access rights to CI server needed): 

https://builds.apache.org/job/incubator-rya-master-with-optionals-pull-requests/368/Failed
 Tests: 2incubator-rya-master-with-optionals-pull-requests/org.apache.rya:mongodb.rya:
 1org.apache.rya.mongodb.SimpleMongoDBStorageStrategyTest.testSerializeStatementToDBOincubator-rya-master-with-optionals-pull-requests/org.apache.rya:rya.indexing:
 1org.apache.rya.indexing.mongo.MongoTemporalIndexerTest.org.apache.rya.indexing.mongo.MongoTemporalIndexerTest



> Long LineStrings break MongoDB ingest
> -
>
> Key: RYA-316
> URL: https://issues.apache.org/jira/browse/RYA-316
> Project: Rya
>  Issue Type: Bug
>  Components: dao
>Reporter: Aaron Mihalik
>Assignee: Andrew Smith
>
> MongoDB will reject statements they contain very long linestrings.  
> Basically, the mongodb index key is limited to 1024 chars, so the insert will 
> fail if the literal is longer.
> [Here is some example 
> code|https://github.com/amihalik/rya-mongo-debugging/blob/master/src/main/java/com/github/amihalik/rya/mongo/debugging/linestring/LoadLineString.java].
>   I think the inserts will work if you use 10 points, but fail if you use 
> linestrings with 100 points.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)