具有不同名称的 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 选定元素的一列以上。在那些情况下,此代码只是连接这些列,因为第一列之后的列往往包含空字符串。串联可能不是您想要的,但是我还没有发现那些空字符串数据框列代表什么。
我是 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 选定元素的一列以上。在那些情况下,此代码只是连接这些列,因为第一列之后的列往往包含空字符串。串联可能不是您想要的,但是我还没有发现那些空字符串数据框列代表什么。