package examples;
import java.io.File;
import org.junit.BeforeClass;
import org.junit.Test;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.index.lucene.LuceneIndexService;
import org.neo4j.kernel.EmbeddedGraphDatabase;
import org.neo4j.rdf.fulltext.FulltextIndex;
import org.neo4j.rdf.fulltext.QueryResult;
import org.neo4j.rdf.fulltext.SimpleFulltextIndex;
import org.neo4j.rdf.model.CompleteStatement;
import org.neo4j.rdf.model.Context;
import org.neo4j.rdf.model.Literal;
import org.neo4j.rdf.model.Uri;
import org.neo4j.rdf.model.Wildcard;
import org.neo4j.rdf.model.WildcardStatement;
import org.neo4j.rdf.store.Neo4jTestCase;
import org.neo4j.rdf.store.RdfStore;
import org.neo4j.rdf.store.VerboseQuadStore;
public class SiteExamples
{
@BeforeClass
public static void clear()
{
Neo4jTestCase.deleteFileOrDirectory( new File( "target/var/examples" ) );
}
@Test
public void rdfStoreUsage()
{
// START SNIPPET: rdfStoreUsage
GraphDatabaseService graphDb = new EmbeddedGraphDatabase( "target/var/examples" );
LuceneIndexService indexService = new LuceneIndexService( graphDb );
RdfStore store = new VerboseQuadStore( graphDb, indexService );
CompleteStatement firstStatement = new CompleteStatement(
new Uri( "http://neo4j.org/mattias" ),
new Uri( "http://neo4j.org/knows" ),
new Uri( "http://neo4j.org/emil" ), Context.NULL );
CompleteStatement secondStatement = new CompleteStatement(
new Uri( "http://neo4j.org/mattias" ),
new Uri( "http://neo4j.org/name" ),
new Literal( "Mattias" ), Context.NULL );
store.addStatements( firstStatement, secondStatement );
for ( CompleteStatement statement : store.getStatements( new WildcardStatement(
new Uri( "http://neo4j.org/mattias" ),
new Wildcard( "predicate" ),
new Wildcard( "object" ), Context.NULL ), false ) )
{
System.out.println( "Found statement " + statement );
}
// END SNIPPET: rdfStoreUsage
store.shutDown();
indexService.shutdown();
graphDb.shutdown();
}
@Test
public void fulltextIndexing()
{
// START SNIPPET: fulltextIndexing
GraphDatabaseService graphDb = new EmbeddedGraphDatabase( "target/var/examples" );
LuceneIndexService indexService = new LuceneIndexService( graphDb );
FulltextIndex fulltextIndex = new SimpleFulltextIndex( graphDb,
new File( "target/var/examples/fulltext-index" ) );
RdfStore store = new VerboseQuadStore( graphDb, indexService, null, fulltextIndex );
// ...add some statements
for ( QueryResult searchHit : store.searchFulltext( "rdf AND store" ) )
{
System.out.println( searchHit.getStatement() );
}
// END SNIPPET: fulltextIndexing
store.shutDown();
indexService.shutdown();
graphDb.shutdown();
}
}