SPARQL 计数用于计算 RDF 数据中匹配的可能绑定的数量,或者简单地说,匹配的行数。实际上只有一个对象与 REGEX 匹配,因此只有一行。不幸的是,SPARQL 没有任何从单行创建多行的爆炸概念(或者更好地说,我不知道)。
作为一种解决方法,我使用 REGEX + String hacks 编写了一个 SPARQL 查询。这个想法是
Elvis
用一些希望不会出现的特殊字符替换每次出现的。我选择 Å
在这里进行演示。
- 删除文本中的其他字符
- 计算剩余字符串的长度
询问
PREFIX ep: <http://www.snee.com/ns/ep>
SELECT ?s ?p ?o ?cnt
WHERE {
?s ?p ?o.
filter(regex( str(?o) ,"([Ee]lvis.)"))
bind(
strlen(
replace(
replace(str(?o), "([Ee]lvis.)", "Å")
, "[^Å]", ""
)
) as ?cnt)
}
输出(样本)
+-----------------------------------------------+-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+
| s | p | o | cnt |
+-----------------------------------------------+-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+
| http://www.gigmasters.com/elvis/ChuckBaril/ | http://www.snee.com/ns/epinfluences | Elvis, Donny Osmond, Barry Manilow, Pebo Bryson, James Ingram, George Benson, and George Strait | 1 |
| http://www.gigmasters.com/elvis/DukeHicks/ | dc:description | Been performing Elvis tribute shows for 10 yrs. Having been in the music business for twenty years Duke knows how to please the audience. Duke started doing his tribute shows after several request from the audience members to do more and more of Elvis' songs and a request for him to do an Elvis Tribute Show. Duke has been asked several times if he is lip-syching to Elvis' songs and the answer is absolutely NO. The sound and stage presence is so close to 'The King' that it has startled many. | 4 |
| http://www.gigmasters.com/elvis/DukeHicks/ | http://www.snee.com/ns/epcategory | Elvis Impersonator, Tribute Band | 1 |
| http://www.gigmasters.com/elvis/DukeHicks/ | http://www.snee.com/ns/epinfluences | Elvis Presley | 1 |
| http://www.gigmasters.com/elvis/ElvisByDano/ | dc:description | For a great time at your next event, how about ELVIS by Dano? His main goal is to provide a show that reflects the raw energy, passion, and humor that The King once shared with us. Dano, being a huge Elvis fan since his eleventh year, has loved singing along with The Man his entire adult life. He started to impersonate Elvis in public about 1995, and his first long solo performance, with a full set of songs, was at a church social in 2002. Dano was also a seven year member of a classic rock band and often contributed an Elvis act that audiences always truly enjoyed. Starting in February, 2004 he has performed in many solo shows for benefits, auctions, various parties , a Theme Park, as well as much time donated to entertain the elderly. He uses quality audio equipment with great sounding background tracks. Longer travel distances will be considered. Contact Dano today if you want your next party 'all shook up'!!! | 3 |
+-----------------------------------------------+-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+