@Override public Claim getClaim(EntityIdValue subject, Snak mainSnak, List<SnakGroup> qualifiers) { // Jackson claims cannot exist without a statement. return getStatement( subject, mainSnak, qualifiers, Collections. emptyList(), StatementRank.NORMAL, "empty id 12345").getClaim(); }
@Override public Claim getClaim(EntityIdValue subject, Snak mainSnak, List<SnakGroup> qualifiers) { // Jackson claims cannot exist without a statement. return getStatement( subject, mainSnak, qualifiers, Collections. emptyList(), StatementRank.NORMAL, "empty id 12345").getClaim(); }
/** * Get the URI for the given statement. * * @param statement * the statement for which to create a URI * @return the URI */ public static String getStatementUri(Statement statement) { int i = statement.getStatementId().indexOf('$') + 1; return statement.getClaim().getSubject().getIri() + "S" + statement.getStatementId().substring(i); }
void writeSimpleStatements(Resource subject, StatementDocument statementDocument) { for (StatementGroup statementGroup : statementDocument .getStatementGroups()) { for (Statement statement : statementGroup.getStatements()) { if (statement.getClaim().getQualifiers().size() == 0) { this.snakRdfConverter.setSnakContext(subject, PropertyContext.SIMPLE_CLAIM); statement.getClaim().getMainSnak() .accept(this.snakRdfConverter); } } } }
void writeInstanceOfStatements(Resource subject, ItemDocument itemDocument) { for (StatementGroup statementGroup : itemDocument.getStatementGroups()) { if (!"P31".equals(statementGroup.getProperty().getId())) { continue; } for (Statement statement : statementGroup.getStatements()) { if (statement.getClaim().getMainSnak() instanceof ValueSnak && statement.getClaim().getQualifiers().size() == 0) { ValueSnak mainSnak = (ValueSnak) statement.getClaim() .getMainSnak(); Value value = this.valueRdfConverter .getRdfValue(mainSnak.getValue(), mainSnak.getPropertyId(), true); if (value == null) { logger.error("Could not serialize instance of snak: missing value (Snak: " + mainSnak.toString() + ")"); continue; } try { this.rdfWriter.writeTripleValueObject(subject, RdfWriter.RDF_TYPE, value); } catch (RDFHandlerException e) { throw new RuntimeException(e.toString(), e); } } } } }
/** * Returns true if the given document should be included in the * serialization. * * @param itemDocument * the document to check * @return true if the document should be serialized */ private boolean includeDocument(ItemDocument itemDocument) { for (StatementGroup sg : itemDocument.getStatementGroups()) { // "P19" is "place of birth" on Wikidata if (!"P19".equals(sg.getProperty().getId())) { continue; } for (Statement s : sg.getStatements()) { if (s.getClaim().getMainSnak() instanceof ValueSnak) { Value v = ((ValueSnak) s.getClaim().getMainSnak()) .getValue(); // "Q1731" is "Dresden" on Wikidata if (v instanceof ItemIdValue && "Q1731".equals(((ItemIdValue) v).getId())) { return true; } } } } return false; } }
void writeStatement(Statement statement) throws RDFHandlerException { String statementUri = Vocabulary.getStatementUri(statement); Resource statementResource = this.rdfWriter.getUri(statementUri); this.rdfWriter.writeTripleValueObject(statementResource, RdfWriter.RDF_TYPE, RdfWriter.WB_STATEMENT); writeClaim(statementResource, statement.getClaim()); writeReferences(statementResource, statement.getReferences()); // TODO What about the RANK? }
void writeStatement(Statement statement) throws RDFHandlerException { String statementUri = Vocabulary.getStatementUri(statement); Resource statementResource = this.rdfWriter.getUri(statementUri); this.rdfWriter.writeTripleValueObject(statementResource, RdfWriter.RDF_TYPE, RdfWriter.WB_STATEMENT); writeClaim(statementResource, statement.getClaim()); writeReferences(statementResource, statement.getReferences()); writeStatementRankTriple(statementResource, statement.getRank()); }
.getStatements().size()); for (Statement s : sg.getStatements()) { for (SnakGroup q : s.getClaim().getQualifiers()) { countPropertyQualifier(usageStatistics, q.getProperty(), q .getSnaks().size());
Statement returnedStatement = preStatement.withSubject(statement.getClaim().getSubject()); long revisionId = getRevisionIdFromResponse(response);
for (SnakGroup q : s.getClaim().getQualifiers()) { countPropertyQualifier(q.getProperty(), q.getSnaks().size()); if (s.getClaim().getQualifiers().size() > 0) { propertyRecord.statementWithQualifierCount++; && s.getClaim().getMainSnak() instanceof ValueSnak) { Value value = ((ValueSnak) s.getClaim().getMainSnak()) .getValue(); if (value instanceof EntityIdValue) {
Statement returnedStatement = preStatement.withSubject(statement.getClaim().getSubject()); long revisionId = getRevisionIdFromResponse(response);
.forSubjectAndProperty(itemIdValue, property) .withValue(exactValue).withId(s.getStatementId()) .withQualifiers(s.getClaim().getQualifiers()) .withReferences(s.getReferences()) .withRank(s.getRank()).build();