本文整理了Java中org.apache.rya.api.domain.RyaStatement
类的一些代码示例,展示了RyaStatement
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RyaStatement
类的具体详情如下:
包路径:org.apache.rya.api.domain.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);
内容来源于网络,如有侵权,请联系作者删除!