正如 Joshua 所说,Jena 的 Fuseki 使用 TDB,因此它可以在不使用大量资源的情况下存储非常大的本体。例如,您可以将Yago2 分类加载到其中,并且只使用大约 600MB 的 RAM。您不需要将 Fuseki 加载到您的 Java 项目中,您可以从命令行运行它并在您的项目中查询它。
通过以下方式在 Windows 命令行中加载它:
java -jar c:\your_ontology_directory\fuseki-server.jar \
--file=your_ontology.rdf /your_namespace
然后,您可以使用任何 GET/POST 应用程序(甚至在您的浏览器中)对其运行 SPARQL 查询:
http://localhost:3030/your_namespace/sparql?query=SELECT * { ?s ?p ?o }
结果默认以 XML 格式返回。
<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
<head>
<variable name="s"/>
<variable name="p"/>
<variable name="o"/>
</head>
<results>
<result>
<binding name="s">
<uri>http://yago-knowledge/resource/wordnet_gulag_103467887</uri>
</binding>
<binding name="p">
<uri>http://www.w3.org/2000/01/rdf-schema#subClassOf</uri>
</binding>
<binding name="o">
<uri>http://yago-knowledge/resource/wordnet_prison_camp_104005912</uri>
</binding>
</result>
…