Proté中的Sparql查询(过滤);gé;(正则表达式)

Proté中的Sparql查询(过滤);gé;(正则表达式),sparql,protege,Sparql,Protege,我正在学习如何用SPARQL(通过protégé平台)编写查询。所以,这是一个非常基本的问题,但我无法解决 我有一个叫爱丽丝的人(在猫头鹰:东西下面)。 这个个体有一个名为textualValue的数据属性,它被指定为xsd:normalizedString 我在下面写一个查询,以提取从ali开始的个体,这将反过来产生alice。我基本上是使用正则表达式操作数进行过滤。每当我用这个规范执行SPARQL查询时,我都不会得到任何结果,有人能指出我错在哪里吗 SELECT distinct ?x WH

我正在学习如何用SPARQL(通过protégé平台)编写查询。所以,这是一个非常基本的问题,但我无法解决

我有一个叫爱丽丝的人(在猫头鹰:东西下面)。
这个个体有一个名为textualValue的数据属性,它被指定为xsd:normalizedString

我在下面写一个查询,以提取从ali开始的个体,这将反过来产生alice。我基本上是使用正则表达式操作数进行过滤。每当我用这个规范执行SPARQL查询时,我都不会得到任何结果,有人能指出我错在哪里吗

SELECT distinct ?x
WHERE { ?x rdf:type owl:NamedIndividual.
FILTER regex(?textualValue, "^ali", "i") }

您需要获取属性
textualValue
的值-它不会自动放入变量中

根据您的描述,这里有一个大纲:您需要完成详细信息:

前缀owl:。。。。
前缀rdf:。。。。
前缀x:
选择distinct?x
何处{
?x rdf:type owl:NamedIndividual;
x:textualValue?v。
过滤正则表达式(str(?v),“^ali”,“i”)
}

str
仅获取
?v

中RDF术语的词法部分,感谢您的解释,但是我在理解
?v
代表什么方面有点困难。如果你能指定或建议我一个来源,这将是非常有帮助的@AndyS
?v
是一个变量。它被设置为
x:textualValue
triple的对象。