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

ASF GitHub Bot commented on RYA-50:
-----------------------------------

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

    https://github.com/apache/incubator-rya/pull/35#discussion_r58443882
  
    --- Diff: 
extras/indexing/src/main/java/mvm/rya/indexing/external/tupleSet/AccumuloPcjSerializer.java
 ---
    @@ -19,104 +19,198 @@
      * under the License.
      */
     
    +import static com.google.common.base.Preconditions.checkNotNull;
    +import static com.google.common.base.Preconditions.checkArgument;
     import static mvm.rya.api.RdfCloudTripleStoreConstants.DELIM_BYTE;
     import static mvm.rya.api.RdfCloudTripleStoreConstants.DELIM_BYTES;
     import static mvm.rya.api.RdfCloudTripleStoreConstants.TYPE_DELIM_BYTE;
     
    -import java.util.ArrayList;
    +import java.nio.ByteBuffer;
     import java.util.Arrays;
    +import java.util.LinkedList;
     import java.util.List;
    +import java.util.Set;
    +
    +import javax.annotation.ParametersAreNonnullByDefault;
     
     import mvm.rya.api.domain.RyaType;
     import mvm.rya.api.resolver.RdfToRyaConversions;
     import mvm.rya.api.resolver.RyaContext;
     import mvm.rya.api.resolver.RyaToRdfConversions;
     import mvm.rya.api.resolver.RyaTypeResolverException;
    +import mvm.rya.indexing.external.tupleSet.PcjTables.VariableOrder;
     
     import org.openrdf.model.Value;
    +import org.openrdf.query.Binding;
     import org.openrdf.query.BindingSet;
     import org.openrdf.query.algebra.evaluation.QueryBindingSet;
     
    -import com.google.common.base.Preconditions;
     import com.google.common.primitives.Bytes;
     
     /**
    - * AccumuloPcjSerializer provides two methods, serialize and deserialize, 
which
    - * are used for writing BindingSets to PCJ tables and reading serialized 
byte
    - * representations of BindingSets from PCJ tables.
    - *
    + * Converts {@link BindingSet}s to byte[]s and back again. The bytes do not
    + * include the binding names and are ordered with a {@link VariableOrder}.
      */
    -public class AccumuloPcjSerializer {
    +@ParametersAreNonnullByDefault
    +public class AccumuloPcjSerializer implements BindingSetConverter<byte[]> {
    +    
    +    @Override
    +    public byte[] convert(BindingSet bindingSet, VariableOrder varOrder) 
throws BindingSetConversionException {
    +        checkNotNull(bindingSet);
    +        checkNotNull(varOrder);
    +        
    +        try {
    +            return serialize(bindingSet, varOrder.toArray());
    +        } catch (RyaTypeResolverException e) {
    +            throw new BindingSetConversionException("Could not convert the 
BindingSet into a byte[].", e);
    +        }
    +    }
     
    +    @Override
    +    public BindingSet convert(byte[] bindingSetBytes, VariableOrder 
varOrder) throws BindingSetConversionException {
    +        checkNotNull(bindingSetBytes);
    +        checkNotNull(varOrder);
    +        
    +        try {
    +            return deSerialize(bindingSetBytes, varOrder.toArray());
    +        } catch (RyaTypeResolverException e) {
    +            throw new BindingSetConversionException("Could not convert the 
byte[] into a BindingSet.", e); 
    +        }
    +    }
    +    
        /**
    -    *
    +    * 
         * @param bs {@link BindingSet} to be serialized
         * @param varOrder order in which binding values should be written to 
byte array
         * @return byte array containing serialized values written in order 
indicated by varOrder
         * @throws RyaTypeResolverException
    +    * @deprecated Use {@link #convert(BindingSet, VariableOrder)} instead.
         */
    +    @Deprecated
    --- End diff --
    
    Why not remove the method?


> Add Support for Sparql Optional Statements in Precomputed Joins
> ---------------------------------------------------------------
>
>                 Key: RYA-50
>                 URL: https://issues.apache.org/jira/browse/RYA-50
>             Project: Rya
>          Issue Type: Improvement
>    Affects Versions: 3.2.10
>            Reporter: Caleb Meier
>            Assignee: Caleb Meier
>   Original Estimate: 60h
>  Remaining Estimate: 60h
>
> Rya currently only supports Precomputed Joins for SPARQL queries consisting 
> of StatementPatterns, Joins, and Filters.  The task is to extend Rya's 
> Precomputed Join capability to allow for queries that contain OPTIONAL 
> statements.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to