具有不同名称的 SPARQL 列标题

SPARQL column headings with different name

我是 SANSA-STACK 的新手,我正在使用 SPARQL 查询对 Triples RDD 执行一些操作,我正在使用 Select 和一些列名,但是当我完成查询时,列名称正在更改为一些随机值。

   val query = s""" PREFIX ns0: <https://www.example.com/discovery/catalog/>
                    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

                    SELECT ?ColumnRef
                    WHERE
                    {
                        {<https://www.example.com/db/h2/fred/2020/table/FRED.FRED.US_REGIONS}> ns0:column ?ColumnRef .}
                    }
                """

   val result : sql.DataFrame = triples.sparql(query)


   result.show()

result.show() 的输出更改了列名。

+--------------------+
|                   o|
+--------------------+
|https://www.examp...|
|https://www.examp...|
|https://www.examp...|
|https://www.examp...|
+--------------------+

我是这个技术栈的新手,请让我知道我做错了什么。

这是一个适合我的目的的临时解决方案,returns 一个具有预期列名的数据框。通过分解rdd.sparql,rewrite对象可以得到列映射:https://gist.github.com/JNKHunter/c16caa882993facb31a273ec274cb8e3

警告:Sansa 经常查询 returns 每个 sparql 选定元素的一列以上。在那些情况下,此代码只是连接这些列,因为第一列之后的列往往包含空字符串。串联可能不是您想要的,但是我还没有发现那些空字符串数据框列代表什么。