Filter 在Spaql中按字符串筛选选择输出

Filter 在Spaql中按字符串筛选选择输出,filter,sparql,Filter,Sparql,我有这样一个Sparql查询: PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX

我有这样一个Sparql查询:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX hrdata:<http://www.hrdata.com/ontologies/hrdata.owl#>
SELECT  ?tableName2 ?fieldName ?primaryKey1 ?primaryKey2 ?tableName1
WHERE {     ?tableName1 hrdata:hasField hrdata:EFFDT.
            ?fieldName hrdata:relatedField hrdata:EFFDT. 
            ?tableName2 hrdata:hasField ?fieldName.
            ?primaryKey1 hrdata:isPrimaryKey ?tableName1.
            ?primaryKey2 hrdata:isPrimaryKey ?tableName2.
       }
我用谷歌搜索了很多,但不幸的是,没有一个解决方案能像你在下一页所能做的那样帮助我


你知道吗?

?tableName1
位于主题位置,是URI还是空白节点

Filter(?tableName1='xyz')
测试字符串

如果您的意思是URI包含字符串
xyz
,则:


Filter(包含(str(?tablename 1),'xyz'))

您能给出一个当前输出的示例吗?没有Filter时,答案是这样的:xx,yy,zz,dd,ff一些具有不同表名的行1我只想看看那些具有相同表名的行1以及所有变量(
?tableName2?fieldName?primaryKey1?primaryKey2?tableName1
)是字符串类型。输出是xx,yy,zz,dd,ff1 xx,yy,zz,dd,ff2 xx,yy,zz,dd,ff3?我真的不知道你的输出是什么以及你想要它是什么。如果你能给出一个现在是什么以及你期望它是什么的例子,那会有很大帮助。你需要显示一个实际数据的样本,以及当前的输出(和期望的输出)否则我们只能猜测您的查询应该是什么样子。编辑您的问题以添加这些必要的详细信息。根据注释-显示不带过滤器的输出将有所帮助。
Filter ( ?tableName1 = 'xyz')