package org.neo4j.rdf.store;
import java.io.File;
import org.neo4j.rdf.fulltext.SimpleFulltextIndex;
import org.neo4j.rdf.model.CompleteStatement;
import org.neo4j.rdf.model.Context;
public class TestBasicQuadContract extends QuadStoreAbstractTestCase
{
private static final CompleteStatement EMIL_KNOWS_MATTIAS_PUBLIC =
completeStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
TestUri.EMIL_PUBLIC_GRAPH );
private static final CompleteStatement EMIL_KNOWS_MATTIAS_PRIVATE =
completeStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
TestUri.EMIL_PRIVATE_GRAPH );
private static final CompleteStatement EMIL_KNOWS_MATTIAS_NULL =
completeStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
Context.NULL );
@Override
protected RdfStore instantiateStore()
{
return new VerboseQuadStore( graphDb(), indexService(), null,
new SimpleFulltextIndex( graphDb(), new File( getBasePath(),
"fulltext" ) ) );
}
@Override
protected void setUp() throws Exception
{
super.setUp();
addInitialStatements();
}
@Override
protected void tearDown() throws Exception
{
deleteEntireNodeSpace();
super.tearDown();
}
private void addInitialStatements()
{
addStatements(
EMIL_KNOWS_MATTIAS_PUBLIC,
EMIL_KNOWS_MATTIAS_PRIVATE,
EMIL_KNOWS_MATTIAS_NULL );
}
private void clearAllStatements()
{
store().removeStatements(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
WILDCARD_CONTEXT ) );
assertResultCount(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
WILDCARD_CONTEXT ), 0 );
}
// Test getStatements()
public void testGetSPO()
{
assertResult(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
WILDCARD_CONTEXT ),
EMIL_KNOWS_MATTIAS_PUBLIC,
EMIL_KNOWS_MATTIAS_PRIVATE,
EMIL_KNOWS_MATTIAS_NULL );
}
public void testGetSPONull()
{
assertResult(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
Context.NULL ),
EMIL_KNOWS_MATTIAS_NULL );
}
public void testGetSPOC()
{
assertResult(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
TestUri.EMIL_PUBLIC_GRAPH ),
EMIL_KNOWS_MATTIAS_PUBLIC );
}
public void testGetSPOC1C2()
{
assertResult(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
TestUri.EMIL_PUBLIC_GRAPH ),
EMIL_KNOWS_MATTIAS_PUBLIC );
assertResult(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
TestUri.EMIL_PRIVATE_GRAPH ),
EMIL_KNOWS_MATTIAS_PRIVATE );
}
// Test removeStatements()
public void testRemoveSPO()
{
store().removeStatements(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
WILDCARD_CONTEXT ) );
assertResultCount(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
WILDCARD_CONTEXT ), 0 );
}
public void testRemoveSPONull()
{
store().removeStatements(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
Context.NULL ) );
assertResult(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
WILDCARD_CONTEXT ),
EMIL_KNOWS_MATTIAS_PUBLIC,
EMIL_KNOWS_MATTIAS_PRIVATE );
}
public void testRemoveSPOC()
{
store().removeStatements(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
TestUri.EMIL_PUBLIC_GRAPH ) );
assertResult(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
WILDCARD_CONTEXT ),
EMIL_KNOWS_MATTIAS_PRIVATE,
EMIL_KNOWS_MATTIAS_NULL );
}
public void testRemoveSPOC1C2()
{
store().removeStatements(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
TestUri.EMIL_PUBLIC_GRAPH ) );
store().removeStatements(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
TestUri.EMIL_PRIVATE_GRAPH ) );
assertResult(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
WILDCARD_CONTEXT ),
EMIL_KNOWS_MATTIAS_NULL );
}
// Test addStatements()
public void testAddSPONull()
{
clearAllStatements();
store().addStatements(
completeStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
Context.NULL ) );
assertResult(
wildcardStatement(
TestUri.EMIL,
TestUri.FOAF_KNOWS,
TestUri.MATTIAS,
WILDCARD_CONTEXT ),
EMIL_KNOWS_MATTIAS_NULL );
}
}