import java.io.InputStream;
import java.util.*;
import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.rdf.model.RDFNode;
import org.apache.jena.rdf.model.Resource;
import org.apache.jena.rdf.model.Statement;
import org.apache.jena.rdf.model.StmtIterator;
import org.apache.jena.util.FileManager;
public class parseTTL {
public static void parsettl(String fileName){
Model model = ModelFactory.createDefaultModel();
InputStream in = FileManager.get().open(fileName);
if (in == null)
{
throw new IllegalArgumentException("File: " + fileName + " not found");
}
model.read(in, "","TTL");
StmtIterator iter = model.listStatements();
while (iter.hasNext())
{
Statement stmt = iter.nextStatement();
String subject = stmt.getSubject().toString();
String predicate = stmt.getPredicate().toString();
RDFNode object = stmt.getObject();
if (object instanceof Resource) //宾语为新的实体
{
System.out.print(" 宾语 " + object);
}
else {// 宾语为字面量
System.out.print("宾语 \"" + object.toString() + "\"");
}
}
}
public static void main(String[] args){
String fileName = "F:\\DataSet\\dbpedia\\anchor_text_en.ttl";
parsettl(fileName);
}
}