问题描述
我试图通过在语法中引入新的子句来扩展SPARQL。有没有办法使用graphdb做到这一点? 我需要为此提前
解决方法
GraphDB使用Eclipse RDF4J SPARQL解析器,该解析器是开源的,因此您可以轻松地对其进行扩展。解析器被定义为JavaCC语法文件(请参阅sparql.jjt in rdf4j github),因此扩展的最简单方法是将扩展名添加到该语法文件,然后使用JavaCC重新编译解析器。
但是,考虑到这一点,一旦您解析了某些内容,就需要将其转换为代数模型,然后底层的Triplestore实际上可以执行,扩展解析器是很容易的部分。