且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

清除命名图表的最有效方式是什么?

更新时间:2023-11-25 16:03:58

您可以使用sparqlCLEAR命令执行此操作:

CLEAR GRAPH example:exampleGraph

或者DROP

DROP GRAPH example:exampleGraph
两者的区别在于,CLEAR允许三元组保留一个空的命名图,而DROP则完全删除该命名图。但在GraphDB的情况下没有实际区别,因为GraphDB从不保留对空命名图的引用。

如果您不想使用SPARQL,可以使用RDF4J API以编程方式调用clear()操作:

IRI graph = graphdb.getValueFactory().createIRI("http://example.org/exampleGraph");  
try(RepositoryConnection conn = graphdb.getConnection()) {
   conn.clear(graph);
}

或更简洁:

IRI graph = graphdb.getValueFactory().createIRI("http://example.org/exampleGraph");  
Repositories.consume(graphdb, conn -> conn.clear(graph));