2015-08-26 4 views
1

Я знаю, что SPARQL определяет ограниченный набор математических функций, которые, конечно же, не включают тригонометрические функции. В семантической базы данных, у меня есть Виртуоз, и я хочу использовать Виртуоз-х trigonometry functionsВиртуоз. Математические функции в SPARQL

SELECT sin(90) WHERE {?s ?p ?o} 

Как исключение я получаю SPARQL compiler, line 1: syntax error at 'sin' before '('

Мой вопрос в том, как правильно использовать функцию?

+0

Вы пробовали 'select (sin (90) as? Sine) где ...'? Результаты функции должны быть связаны с чем-то в SPARQL. – user205512

+0

просто сделал, получил тот же результат –

ответ

3

Как оказалось префикс bif следует использовать, чтобы заставить его работать, вот рабочий пример запроса

SELECT bif:sin(90) 
WHERE {?s ?p ?o} 
LIMIT 1 
+0

nitpicking, но если вы просто хотите выполнить bif: sin (90), то проще: SELECT big: sin (90) WHERE {}. –

0

Вы должны квалифицироваться функции с префиксом bif:. Пример:

SELECT bif:sin(90) WHERE {?s ?p ?o} LIMIT 1