// $Id: rdfapi.java,v 1.1 2001/04/10 16:23:47 mdean Exp $


/**
 * save an RDF API model including a reified statement.
 */
class rdfapi
{
    public static void main(String args[])
	throws Exception
    {
	org.w3c.rdf.util.RDFFactory factory = new org.w3c.rdf.util.RDFFactoryImpl();
	org.w3c.rdf.model.Model model = factory.createModel();
	org.w3c.rdf.model.NodeFactory nodeFactory = model.getNodeFactory();

	org.w3c.rdf.model.Statement taggedStatement = nodeFactory.createStatement(nodeFactory.createResource("#subject"),
										  nodeFactory.createResource("#predicate1"),
										  nodeFactory.createLiteral("#object1"));
	model.add(taggedStatement);
	model.add(nodeFactory.createStatement(taggedStatement,
					      nodeFactory.createResource("#predicate2"),
					      nodeFactory.createLiteral("#object2")));

	org.w3c.rdf.model.Statement quotedStatement = nodeFactory.createStatement(nodeFactory.createResource("#subject"),
										  nodeFactory.createResource("#predicate3"),
										  nodeFactory.createLiteral("#object3"));
	// don't add quotedStatement to model
	model.add(nodeFactory.createStatement(quotedStatement,
					      nodeFactory.createResource("#predicate2"),
					      nodeFactory.createLiteral("#object2")));

	// serialize model
	org.w3c.rdf.syntax.RDFSerializer serializer = factory.createSerializer();
	serializer.serialize(model, new java.io.PrintWriter(System.out));
    }
}
