Package de.fuberlin.wiwiss.d2rq.functional_tests

Source Code of de.fuberlin.wiwiss.d2rq.functional_tests.FindTest

package de.fuberlin.wiwiss.d2rq.functional_tests;

import com.hp.hpl.jena.datatypes.xsd.XSDDatatype;
import com.hp.hpl.jena.rdf.model.AnonId;
import com.hp.hpl.jena.sparql.vocabulary.FOAF;
import com.hp.hpl.jena.vocabulary.DC;
import com.hp.hpl.jena.vocabulary.RDF;
import com.hp.hpl.jena.vocabulary.RDFS;
import com.hp.hpl.jena.vocabulary.VCARD;

import de.fuberlin.wiwiss.d2rq.helpers.FindTestFramework;
import de.fuberlin.wiwiss.d2rq.vocab.ISWC;
import de.fuberlin.wiwiss.d2rq.vocab.SKOS;

/**
* Functional tests for the find(spo) operation of {@link de.fuberlin.wiwiss.d2rq.jena.GraphD2RQ}.
* For notes on running the tests, see {@link AllTests}.
*
* Each test method runs one or more find queries and automatically compares the actual
* results to the expected results. For some tests, only the number of returned triples
* is checked. For others, the returned triples are compared against expected triples.
*
* If a test fails, the dump() method can be handy. It shows the actual triples returned
* by a query on System.out.
*
* To see debug information, uncomment the enableDebug() call in the setUp() method.
*
* @author Richard Cyganiak (richard@cyganiak.de)
*/
public class FindTest extends FindTestFramework {
   
  public void testListTypeStatements() {
    find(null, RDF.type, null);
//    dump();
    assertStatement(resource("papers/1"), RDF.type, ISWC.InProceedings);
    // Paper6 is filtered by d2rq:condition
    assertNoStatement(resource("papers/6"), RDF.type, ISWC.InProceedings);
    assertStatement(resource("conferences/23541"), RDF.type, ISWC.Conference);
    assertStatement(resource("topics/15"), RDF.type, SKOS.Concept);
    assertStatementCount(95);
  }

  public void testListTopicInstances() {
    find(null, RDF.type, SKOS.Concept);
//    dump();
    assertStatement(resource("topics/1"), RDF.type, SKOS.Concept);
    assertStatement(resource("topics/15"), RDF.type, SKOS.Concept);
    assertStatementCount(15);
  }

  public void testListTopicNames() {
    find(null, SKOS.prefLabel, null);
//    dump();
    assertStatement(resource("topics/1"), SKOS.prefLabel, m.createTypedLiteral(
        "Knowledge Representation Languages"));
    assertStatement(resource("topics/15"), SKOS.prefLabel, m.createTypedLiteral(
        "Knowledge Management"));
    assertStatementCount(15);
  }

  public void testListAuthors() {
    find(null, DC.creator, null);
//    dump();
    assertStatement(resource("papers/1"), DC.creator, resource("persons/1"));
    assertStatement(resource("papers/1"), DC.creator, resource("persons/2"));
    assertStatementCount(8);
  }
 
  public void testDatatypeFindByYear() {
    find(null, DC.date, m.createTypedLiteral("2003", XSDDatatype.XSDgYear));
//    dump();
    assertStatement(resource("papers/4"), DC.date, m.createTypedLiteral("2003", XSDDatatype.XSDgYear));
    assertStatementCount(1);
  }
 
  public void testDatatypeFindByString() {
    find(null, SKOS.prefLabel, m.createTypedLiteral("E-Business", XSDDatatype.XSDstring));
//    dump();
    assertStatement(resource("topics/13"), SKOS.prefLabel, m.createTypedLiteral("E-Business", XSDDatatype.XSDstring));
    assertStatementCount(1);
  }
 
  public void testXSDStringDoesntMatchPlainLiteral() {
    find(null, SKOS.prefLabel, m.createLiteral("E-Business"));
//    dump();
    assertStatementCount(0);
  }
 
  public void testDatatypeFindYear() {
    find(resource("papers/2"), DC.date, null);
//    dump();
    assertStatement(resource("papers/2"), DC.date, m.createTypedLiteral("2002", XSDDatatype.XSDgYear));
    assertStatementCount(1);
  }
 
  public void testDatatypeYearContains() {
    find(resource("papers/2"), DC.date, m.createTypedLiteral("2002", XSDDatatype.XSDgYear));
//    dump();
    assertStatement(resource("papers/2"), DC.date, m.createTypedLiteral("2002", XSDDatatype.XSDgYear));
    assertStatementCount(1);
    assertStatementCount(1);
  }

  public void testLiteralLanguage() {
    find(null, DC.title, m.createLiteral("Trusting Information Sources One Citizen at a Time", "en"));
//    dump();
    assertStatement(resource("papers/1"), DC.title, m.createLiteral("Trusting Information Sources One Citizen at a Time", "en"));
    assertStatementCount(1);
  }

  public void testFindSubjectWhereObjectURIColumn() {
    find(null, DC.creator, resource("persons/4"));
//    dump();
    assertStatement(resource("papers/2"), DC.creator, resource("persons/4"));
    assertStatementCount(1);
    }

  public void testFindSubjectWithConditionalObject() {
    // The paper is not published, therefore no result triples
    find(null, DC.creator, resource("persons/5"));
//    dump();
    assertStatementCount(0);
  }

  public void testFindSubjectWhereObjectURIPattern() {
    find(null, FOAF.mbox, m.createResource("mailto:andy.seaborne@hpl.hp.com"));
//    dump();
    assertStatement(resource("persons/6"), FOAF.mbox, m.createResource("mailto:andy.seaborne@hpl.hp.com"));
    assertStatementCount(1);
    }

  public void testFindAnonymousNode() {
    find(null, VCARD.Pcode, m.createLiteral("BS34 8QZ"));
//    dump();
    assertStatement(
        m.createResource(new AnonId("map:PostalAddresses@@7")),
        VCARD.Pcode, m.createLiteral("BS34 8QZ"));
    assertStatementCount(1);
  }

  public void testMatchAnonymousSubject() {
    find(
        m.createResource(new AnonId("map:PostalAddresses@@7")),
        VCARD.Pcode, null);
//    dump();
    assertStatement(
        m.createResource(new AnonId("map:PostalAddresses@@7")),
        VCARD.Pcode, m.createLiteral("BS34 8QZ"));
    assertStatementCount(1);
  }
 
  public void testMatchAnonymousObject() {
    find(
        null, VCARD.ADR,
        m.createResource(new AnonId("map:PostalAddresses@@7")));
//    dump();
    assertStatement(
        resource("organizations/7"), VCARD.ADR,
        m.createResource(new AnonId("map:PostalAddresses@@7")));
    assertStatementCount(1);
  }

  public void testDump() {
    find(null, null, null);
//    dump();
    assertStatementCount(322);
  }

  public void testFindPredicate() {
    find(resource("papers/2"), null, m.createTypedLiteral("2002", XSDDatatype.XSDgYear));
//    dump();
    assertStatement(resource("papers/2"), DC.date, m.createTypedLiteral("2002", XSDDatatype.XSDgYear));
    assertStatementCount(1);
    }

  public void testReverseFetchWithDatatype() {
    find(null, null, m.createTypedLiteral("2002", XSDDatatype.XSDgYear));
//    dump();
    assertStatementCount(3);
  }

  public void testReverseFetchWithURI() {
    find(null, null, resource("topics/11"));
//    dump();
    assertStatementCount(2);
  }
 
  public void testFindAliasedPropertyBridge() {
    find(null, SKOS.broader, null);
//    dump();
    assertStatement(resource("topics/1"), SKOS.broader, resource("topics/3"));
    assertStatementCount(10);
  }
 
  public void testDefinitions() {
    find(ISWC.Conference, null, null);
    assertStatement(ISWC.Conference, RDF.type, RDFS.Class);
    assertStatement(ISWC.Conference, RDFS.label, m.createLiteral("conference"));
    assertStatement(ISWC.Conference, RDFS.comment, m.createLiteral("A conference"));
    assertStatement(ISWC.Conference, RDFS.subClassOf, ISWC.Event);
    find(RDFS.label, null, null);
    assertStatement(RDFS.label, RDF.type, RDF.Property);
    assertStatement(RDFS.label, RDFS.label, m.createLiteral("label"));
    assertStatement(RDFS.label, RDFS.comment, m.createLiteral("A human-readable name for the subject."));
    assertStatement(RDFS.label, RDFS.domain, RDFS.Resource);
 
}
TOP

Related Classes of de.fuberlin.wiwiss.d2rq.functional_tests.FindTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.