org.apache.rya.api.domain.RyaStatement类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(12.5k)|赞(0)|评价(0)|浏览(68)

本文整理了Java中org.apache.rya.api.domain.RyaStatement类的一些代码示例,展示了RyaStatement类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RyaStatement类的具体详情如下:
包路径:org.apache.rya.api.domain.RyaStatement
类名称:RyaStatement

RyaStatement介绍

[英]Date: 7/17/12 Time: 7:20 AM
[中]日期:2012年7月17日时间:上午7:20

代码示例

代码示例来源:origin: apache/incubator-rya

private static RyaStatement updateRyaStatementColumnVisibility(final RyaStatement ryaStatement, final ColumnVisibility newCv) {
  final RyaStatement newCvRyaStatement = new RyaStatement(ryaStatement.getSubject(), ryaStatement.getPredicate(), ryaStatement.getObject(), ryaStatement.getContext(), ryaStatement.getQualifer(), newCv.getExpression(), ryaStatement.getValue(), ryaStatement.getTimestamp());
  return newCvRyaStatement;
}

代码示例来源:origin: org.apache.rya/rya.mapreduce

/**
 * Comparison method for natural ordering. Compares based on the logical
 * triple (the s/p/o/context information in the underlying RyaStatement)
 * and then by the metadata contained in the RyaStatement if the triples are
 * the same.
 * @return  Zero if both RyaStatementWritables contain equivalent statements
 *          or both have null statements; otherwise, an integer whose sign
 *          corresponds to a consistent ordering.
 */
@Override
public int compareTo(RyaStatementWritable other) {
  CompareToBuilder builder = new CompareToBuilder();
  RyaStatement rsThis = this.getRyaStatement();
  RyaStatement rsOther = other.getRyaStatement(); // should throw NPE if other is null, as per Comparable contract
  builder.append(rsThis == null, rsOther == null);
  if (rsThis != null && rsOther != null) {
    builder.append(rsThis.getSubject(), rsOther.getSubject());
    builder.append(rsThis.getPredicate(), rsOther.getPredicate());
    builder.append(rsThis.getObject(), rsOther.getObject());
    builder.append(rsThis.getContext(), rsOther.getContext());
    builder.append(rsThis.getQualifer(), rsOther.getQualifer());
    builder.append(rsThis.getColumnVisibility(), rsOther.getColumnVisibility());
    builder.append(rsThis.getValue(), rsOther.getValue());
    builder.append(rsThis.getTimestamp(), rsOther.getTimestamp());
  }
  return builder.toComparison();
}

代码示例来源:origin: org.apache.rya/rya.export.client

@Override
  public Optional<RyaStatement> merge(final Optional<RyaStatement> parent, final Optional<RyaStatement> child)
      throws MergerException {
    if(parent.isPresent()) {
      final RyaStatement parentStatement = parent.get();
      if(child.isPresent()) {
        final RyaStatement childStatement = child.get();
        final String pVis = new String(parentStatement.getColumnVisibility(), StandardCharsets.UTF_8);
        final String cVis = new String(childStatement.getColumnVisibility(), StandardCharsets.UTF_8);
        String visibility = "";
        final Joiner join = Joiner.on(")&(");
        if(pVis.isEmpty() || cVis.isEmpty()) {
          visibility = (pVis + cVis).trim();
        } else {
          visibility = "(" + join.join(pVis, cVis) + ")";
        }
        parentStatement.setColumnVisibility(visibility.getBytes(StandardCharsets.UTF_8));
        return Optional.of(parentStatement);
      }
      return parent;
    } else if(child.isPresent()) {
      return child;
    }
    return Optional.absent();
  }
}

代码示例来源:origin: org.apache.rya/rya.api

public TriplePatternStrategy retrieveStrategy(final RyaStatement stmt) {
  return retrieveStrategy(stmt.getSubject(), stmt.getPredicate(), stmt.getObject(), stmt.getContext());
}

代码示例来源:origin: apache/incubator-rya

private static String prettyFormat(final RyaStatement statement) {
  final RyaIRI s = statement.getSubject();
  final RyaIRI p = statement.getPredicate();
  final RyaType o = statement.getObject();
  return "<" + s.getData() + "> <"+ p.getData() + "> <" + o.getData() + ">";
}

代码示例来源:origin: org.apache.rya/mongodb.rya

public BasicDBObject serializeInternal(final RyaStatement statement){
  String context = "";
  if (statement.getContext() != null){
    context = statement.getContext().getData();
  final String id = statement.getSubject().getData() + " " +
      statement.getPredicate().getData() + " " +  statement.getObject().getData() + " " + context;
  byte[] bytes = id.getBytes(StandardCharsets.UTF_8);
  try {
    LOG.error("Unable to perform SHA-1 on the ID, defaulting to raw bytes.", e);
  if (statement.getMetadata() == null){
    statement.setStatementMetadata(StatementMetadata.EMPTY_METADATA);
  final BasicDBObject dvObject = DocumentVisibilityAdapter.toDBObject(statement.getColumnVisibility());
  final BasicDBObject doc = new BasicDBObject(ID, new String(Hex.encodeHex(bytes)))
  .append(SUBJECT, statement.getSubject().getData())
  .append(SUBJECT_HASH, hash(statement.getSubject().getData()))
  .append(PREDICATE, statement.getPredicate().getData())
  .append(PREDICATE_HASH, hash(statement.getPredicate().getData()))
  .append(OBJECT, statement.getObject().getData())
  .append(OBJECT_HASH, hash(statement.getObject().getData()))
  .append(OBJECT_TYPE, statement.getObject().getDataType().toString())
  .append(CONTEXT, context)
  .append(STATEMENT_METADATA, statement.getMetadata().toString())
  .append(DOCUMENT_VISIBILITY, dvObject.get(DOCUMENT_VISIBILITY))
  .append(TIMESTAMP, statement.getTimestamp());
  return doc;

代码示例来源:origin: apache/incubator-rya

@Test
public void testConstructProjectionProjectSubj() throws MalformedQueryException, UnsupportedEncodingException {
  String query = "select ?x where { ?x <uri:talksTo> <uri:Bob> }";
  
  SPARQLParser parser = new SPARQLParser();
  ParsedQuery pq = parser.parseQuery(query, null);
  List<StatementPattern> patterns = StatementPatternCollector.process(pq.getTupleExpr());
  ConstructProjection projection = new ConstructProjection(patterns.get(0));
  
  QueryBindingSet bs = new QueryBindingSet();
  bs.addBinding("x", VF.createIRI("uri:Joe"));
  VisibilityBindingSet vBs = new VisibilityBindingSet(bs, "FOUO");
  RyaStatement statement = projection.projectBindingSet(vBs, new HashMap<>());
  
  RyaStatement expected = new RyaStatement(new RyaIRI("uri:Joe"), new RyaIRI("uri:talksTo"), new RyaIRI("uri:Bob"));
  expected.setColumnVisibility("FOUO".getBytes("UTF-8"));
  expected.setTimestamp(statement.getTimestamp());
  
  assertEquals(expected, statement);
}

代码示例来源:origin: apache/incubator-rya

private Set<RyaStatement> getRyaStatements(RyaStatement statement, int numTriples) {
  Set<RyaStatement> statements = new HashSet<>();
  final String subject = "urn:subject_";
  final String predicate = "urn:predicate_";
  final String object = "urn:object_";
  for (int i = 0; i < numTriples; i++) {
    RyaStatement stmnt = new RyaStatement(statement.getSubject(), statement.getPredicate(), statement.getObject());
    if (stmnt.getSubject() == null) {
      stmnt.setSubject(new RyaIRI(subject + i));
    }
    if (stmnt.getPredicate() == null) {
      stmnt.setPredicate(new RyaIRI(predicate + i));
    }
    if (stmnt.getObject() == null) {
      stmnt.setObject(new RyaIRI(object + i));
    }
    statements.add(stmnt);
  }
  return statements;
}

代码示例来源:origin: apache/incubator-rya

@Override
public RyaStatement next() throws RyaDAOException {
  Map.Entry<RyaIRI, RyaType> subjObj = keys.nextElement();
  return new RyaStatement(subjObj.getKey(), null, subjObj.getValue());
}

代码示例来源:origin: org.apache.rya/rya.api

private boolean batchNext() throws RyaDAOException {
  if (!iteration.hasNext()) {
    return false;
  }
  Collection<Map.Entry<RyaStatement, BindingSet>> batchedResults = new ArrayList<Map.Entry<RyaStatement, BindingSet>>();
  for (int i = 0; i < batch && iteration.hasNext(); i++) {
    RyaStatement next = iteration.next();
    batchedResults.add(new RdfCloudTripleStoreUtils.CustomEntry<RyaStatement, BindingSet>(
        new RyaStatement(next.getSubject(), pred, next.getObject()), null));
  }
  query = ryaQueryEngine.queryWithBindingSet(batchedResults, null);
  return query.hasNext();
}

代码示例来源:origin: apache/incubator-rya

value = new RyaType(VF.createIRI(objectType), objectValue);
RyaStatement statement = new RyaStatement(new RyaIRI(subject), new RyaIRI(predicate), value);
int length = 0;
boolean hasNextValue = input.readBoolean();
if (hasNextValue){
  statement.setContext(new RyaIRI(input.readString()));
  statement.setColumnVisibility(input.readBytes(length));
  statement.setQualifer(input.readString());
  statement.setTimestamp(input.readLong());
  statement.setValue(input.readBytes(length));

代码示例来源:origin: org.apache.rya/mongodb.rya

statement = new RyaStatement(new RyaURI(subject), new RyaURI(predicate), objectRya,
      new RyaURI(context));
} else {
  statement = new RyaStatement(new RyaURI(subject), new RyaURI(predicate), objectRya);
statement.setColumnVisibility(documentVisibility.flatten());
if(timestamp != null) {
  statement.setTimestamp(timestamp);
    statement.setStatementMetadata(metadata);

代码示例来源:origin: org.apache.rya/rya.mapreduce

/**
 * Writes a (key,value) pair to Rya. Adds the statement to a buffer, and
 * flushes the statement buffer to the database if full.
 * @param   key     Arbitrary Writable, not used.
 * @param   value   Contains statement to insert to Rya.
 * @throws  IOException if writing to Accumulo fails.
 */
@Override
public void write(final Writable key, final RyaStatementWritable value) throws IOException {
  final RyaStatement ryaStatement = value.getRyaStatement();
  if (ryaStatement.getColumnVisibility() == null) {
    ryaStatement.setColumnVisibility(cv);
  }
  if (ryaStatement.getContext() == null) {
    ryaStatement.setContext(defaultContext);
  }
  buffer.add(ryaStatement);
  bufferCurrentSize += statementSize(ryaStatement);
  if (bufferCurrentSize >= bufferSizeLimit) {
    flushBuffer();
  }
}

代码示例来源:origin: apache/incubator-rya

public static void ryaStatementsEqualIgnoresBlankNode(Set<RyaStatement> statements1, Set<RyaStatement> statements2) {
  Map<String, RyaIRI> bNodeMap = new HashMap<>();
  statements1.forEach(x-> bNodeMap.put(x.getPredicate().getData(), x.getSubject()));
  statements2.forEach(x -> x.setSubject(bNodeMap.get(x.getPredicate().getData())));
  ryaStatementSetsEqualIgnoresTimestamp(statements1, statements2);
}

代码示例来源:origin: apache/incubator-rya

RyaStatement statement1 = new RyaStatement(new RyaIRI("urn:Joe"), new RyaIRI("urn:talksTo"), new RyaIRI("urn:Bob"));
RyaStatement statement2 = new RyaStatement(new RyaIRI("urn:Bob"), new RyaIRI("urn:livesIn"), new RyaIRI("urn:London"));
RyaStatement statement3 = new RyaStatement(new RyaIRI("urn:Bob"), new RyaIRI("urn:worksAt"), new RyaIRI("urn:burgerShack"));
statement1.setColumnVisibility("U&W".getBytes("UTF-8"));
statement2.setColumnVisibility("V".getBytes("UTF-8"));
statement3.setColumnVisibility("W".getBytes("UTF-8"));
RyaStatement statement4 = new RyaStatement(new RyaIRI("urn:Joe"), new RyaIRI("urn:travelsTo"), new RyaIRI("urn:London"));
RyaStatement statement5 = new RyaStatement(new RyaIRI("urn:Joe"), new RyaIRI("urn:friendsWith"), new RyaIRI("urn:Bob"));
statement4.setColumnVisibility("U&V&W".getBytes("UTF-8"));
statement5.setColumnVisibility("U&V&W".getBytes("UTF-8"));

代码示例来源:origin: apache/incubator-rya

@Override
public String getVersion() throws RyaDAOException {
  String version = null;
  final CloseableIteration<RyaStatement, RyaDAOException> versIter = queryEngine.query(new RyaStatement(RTS_SUBJECT_RYA, RTS_VERSION_PREDICATE_RYA, null), conf);
  if (versIter.hasNext()) {
    version = versIter.next().getObject().getData();
  }
  versIter.close();
  return version;
}

代码示例来源:origin: org.apache.rya/rya.mapreduce

write(dataOutput, columnFamily);
write(dataOutput, columnQualifier);
write(dataOutput, ryaStatement.getColumnVisibility());
write(dataOutput, ryaStatement.getValue());
Long timestamp = ryaStatement.getTimestamp();
boolean b = timestamp != null;
dataOutput.writeBoolean(b);

代码示例来源:origin: org.apache.rya/mongodb.rya

@Override
public void delete(final Iterator<RyaStatement> statements,
    final StatefulMongoDBRdfConfiguration conf) throws RyaDAOException {
  while (statements.hasNext()){
    final RyaStatement ryaStatement = statements.next();
    final boolean canDelete = DocumentVisibilityUtil.doesUserHaveDocumentAccess(auths, ryaStatement.getColumnVisibility());
    if (canDelete) {
      coll.remove(storageStrategy.getQuery(ryaStatement));
      for (final RyaSecondaryIndexer index : secondaryIndexers) {
        try {
          index.deleteStatement(ryaStatement);
        } catch (final IOException e) {
          log.error("Unable to remove statement: " + ryaStatement.toString() + " from secondary indexer: " + index.getTableName(), e);
        }
      }
    } else {
      throw new RyaDAOException("User does not have the required authorizations to delete statement");
    }
  }
}

代码示例来源:origin: org.apache.rya/rya.indexing

@Override
  public DBObject serialize(final RyaStatement ryaStatement) {
     final BasicDBObject base = (BasicDBObject) super.serialize(ryaStatement);
     base.append(text, ryaStatement.getObject().getData());
     return base;
  }
}

代码示例来源:origin: org.apache.rya/rya.export.client

if(statement.getTimestamp() > metadata.getTimestamp().getTime()) {
  break;
  System.out.println(statement.toString());
  childStore.removeStatement(statement);
curTime = statement.getTimestamp();
if(!childStore.containsStatement(statement)) {
  statement.setTimestamp(statement.getTimestamp() - timeOffset);
  childStore.addStatement(statement);

相关文章