Search in sources :

Example 6 with Snak

use of org.wikidata.wdtk.datamodel.interfaces.Snak in project OpenRefine by OpenRefine.

the class DifferenceWithinScrutinizerTest method testNoIssue.

@Test
public void testNoIssue() {
    ItemIdValue idA = TestingData.existingId;
    TimeValue lowerYear = new TimeValueImpl(2000, (byte) 10, (byte) 15, (byte) 0, (byte) 0, (byte) 0, (byte) 11, 0, 0, 0, TimeValue.CM_GREGORIAN_PRO);
    TimeValue upperYear = new TimeValueImpl(2020, (byte) 10, (byte) 15, (byte) 0, (byte) 0, (byte) 0, (byte) 11, 0, 0, 0, TimeValue.CM_GREGORIAN_PRO);
    ValueSnak value1 = Datamodel.makeValueSnak(lowerBoundPid, lowerYear);
    ValueSnak value2 = Datamodel.makeValueSnak(upperBoundPid, upperYear);
    Statement statement1 = new StatementImpl("P569", value1, idA);
    Statement statement2 = new StatementImpl("P570", value2, idA);
    TermedStatementEntityEdit updateA = new TermedStatementEntityEditBuilder(idA).addStatement(add(statement1)).addStatement(add(statement2)).build();
    Snak propertyQualifier = Datamodel.makeValueSnak(propertyParameterPID, lowerBoundPid);
    Snak minValueQualifier = Datamodel.makeValueSnak(minimumValuePID, minValue);
    Snak maxValueQualifier = Datamodel.makeValueSnak(maximumValuePID, maxValue);
    List<SnakGroup> constraintQualifiers = makeSnakGroupList(propertyQualifier, minValueQualifier, maxValueQualifier);
    List<Statement> constraintDefinitions = constraintParameterStatementList(entityIdValue, constraintQualifiers);
    ConstraintFetcher fetcher = mock(ConstraintFetcher.class);
    when(fetcher.getConstraintsByType(upperBoundPid, DIFFERENCE_WITHIN_RANGE_CONSTRAINT_QID)).thenReturn(constraintDefinitions);
    setFetcher(fetcher);
    scrutinize(updateA);
    assertNoWarningRaised();
}
Also used : TermedStatementEntityEditBuilder(org.openrefine.wikidata.updates.TermedStatementEntityEditBuilder) Snak(org.wikidata.wdtk.datamodel.interfaces.Snak) ValueSnak(org.wikidata.wdtk.datamodel.interfaces.ValueSnak) ConstraintFetcher(org.openrefine.wikidata.qa.ConstraintFetcher) Statement(org.wikidata.wdtk.datamodel.interfaces.Statement) ItemIdValue(org.wikidata.wdtk.datamodel.interfaces.ItemIdValue) StatementImpl(org.wikidata.wdtk.datamodel.implementation.StatementImpl) TermedStatementEntityEdit(org.openrefine.wikidata.updates.TermedStatementEntityEdit) SnakGroup(org.wikidata.wdtk.datamodel.interfaces.SnakGroup) TimeValueImpl(org.wikidata.wdtk.datamodel.implementation.TimeValueImpl) ValueSnak(org.wikidata.wdtk.datamodel.interfaces.ValueSnak) TimeValue(org.wikidata.wdtk.datamodel.interfaces.TimeValue) Test(org.testng.annotations.Test)

Example 7 with Snak

use of org.wikidata.wdtk.datamodel.interfaces.Snak in project OpenRefine by OpenRefine.

the class QSSnakPrinterTest method testMainSomeValueSnak.

@Test
public void testMainSomeValueSnak() {
    Snak snak = Datamodel.makeSomeValueSnak(pid);
    Assert.assertEquals(snak.accept(mainPrinter), "\tP123\tsomevalue");
}
Also used : Snak(org.wikidata.wdtk.datamodel.interfaces.Snak) Test(org.testng.annotations.Test)

Example 8 with Snak

use of org.wikidata.wdtk.datamodel.interfaces.Snak in project OpenRefine by OpenRefine.

the class QSSnakPrinterTest method testReferenceValueSnak.

@Test
public void testReferenceValueSnak() {
    Snak snak = Datamodel.makeValueSnak(pid, qid);
    Assert.assertEquals(snak.accept(refPrinter), "\tS123\tQ456");
}
Also used : Snak(org.wikidata.wdtk.datamodel.interfaces.Snak) Test(org.testng.annotations.Test)

Example 9 with Snak

use of org.wikidata.wdtk.datamodel.interfaces.Snak in project OpenRefine by OpenRefine.

the class QSSnakPrinterTest method testReferenceNoValueSnak.

@Test
public void testReferenceNoValueSnak() {
    Snak snak = Datamodel.makeNoValueSnak(pid);
    Assert.assertEquals(snak.accept(refPrinter), "\tS123\tnovalue");
}
Also used : Snak(org.wikidata.wdtk.datamodel.interfaces.Snak) Test(org.testng.annotations.Test)

Example 10 with Snak

use of org.wikidata.wdtk.datamodel.interfaces.Snak in project OpenRefine by OpenRefine.

the class FormatScrutinizerTest method generateFormatConstraint.

protected List<Statement> generateFormatConstraint(String regex) {
    Snak qualifierSnak = Datamodel.makeValueSnak(regularExpressionParameter, Datamodel.makeStringValue(regex));
    List<Snak> qualifierSnakList = Collections.singletonList(qualifierSnak);
    SnakGroup qualifierSnakGroup = Datamodel.makeSnakGroup(qualifierSnakList);
    List<SnakGroup> constraintQualifiers = Collections.singletonList(qualifierSnakGroup);
    return constraintParameterStatementList(entityIdValue, constraintQualifiers);
}
Also used : Snak(org.wikidata.wdtk.datamodel.interfaces.Snak) ValueSnak(org.wikidata.wdtk.datamodel.interfaces.ValueSnak) SnakGroup(org.wikidata.wdtk.datamodel.interfaces.SnakGroup)

Aggregations

Snak (org.wikidata.wdtk.datamodel.interfaces.Snak)74 Statement (org.wikidata.wdtk.datamodel.interfaces.Statement)58 Test (org.testng.annotations.Test)57 ConstraintFetcher (org.openrefine.wikidata.qa.ConstraintFetcher)51 TermedStatementEntityEdit (org.openrefine.wikidata.updates.TermedStatementEntityEdit)49 TermedStatementEntityEditBuilder (org.openrefine.wikidata.updates.TermedStatementEntityEditBuilder)49 ItemIdValue (org.wikidata.wdtk.datamodel.interfaces.ItemIdValue)48 SnakGroup (org.wikidata.wdtk.datamodel.interfaces.SnakGroup)47 StatementImpl (org.wikidata.wdtk.datamodel.implementation.StatementImpl)43 ValueSnak (org.wikidata.wdtk.datamodel.interfaces.ValueSnak)21 PropertyIdValue (org.wikidata.wdtk.datamodel.interfaces.PropertyIdValue)11 ArrayList (java.util.ArrayList)9 Claim (org.wikidata.wdtk.datamodel.interfaces.Claim)8 Reference (org.wikidata.wdtk.datamodel.interfaces.Reference)7 Value (org.wikidata.wdtk.datamodel.interfaces.Value)7 HashMap (java.util.HashMap)6 QAWarning (org.openrefine.wikidata.qa.QAWarning)6 NoValueSnak (org.wikidata.wdtk.datamodel.interfaces.NoValueSnak)6 List (java.util.List)4 StatementEdit (org.openrefine.wikidata.updates.StatementEdit)4