在sparql查询中使用减号关键字时出现词法错误

在sparql查询中使用减号关键字时出现词法错误,sparql,jena,ontology,triples,Sparql,Jena,Ontology,Triples,我在Jena框架的SPARQL中针对一个本体运行了以下查询(本体中存在wasBornIn谓词) 及 对于第一个查询,我得到以下错误: null Error: Lexical error at line 7, column 21. Encountered: " " (32), after : "NOT" 及 这两个查询似乎都是正确的,我不知道为什么会出现这些错误。您的第一个和第二个查询(假设您定义了:前缀)是合法的。你可以跟我核对一下。例如,这些都是合法的: prefix : <>

我在Jena框架的SPARQL中针对一个本体运行了以下查询(本体中存在wasBornIn谓词)

对于第一个查询,我得到以下错误:

null
Error: Lexical error at line 7, column 21.  Encountered: " " (32), after : "NOT"


这两个查询似乎都是正确的,我不知道为什么会出现这些错误。

您的第一个和第二个查询(假设您定义了
前缀)是合法的。你可以跟我核对一下。例如,这些都是合法的:

prefix : <>

select ?p where 
  {
   ?s ?p ?o FILTER NOT EXISTS { ?s :wasBornIn ?o }
  }
在这种情况下,你最终会

?s ?p ?oFILTER NOT EXISTS { … }

(即,使用名为过滤器?的变量)。但是,如果没有看到您的代码,这将很难诊断。您还可能以某种方式错误地解析了查询。

您的第一个和第二个查询(假设您已定义了
前缀)是合法的。你可以跟我核对一下。例如,这些都是合法的:

prefix : <>

select ?p where 
  {
   ?s ?p ?o FILTER NOT EXISTS { ?s :wasBornIn ?o }
  }
在这种情况下,你最终会

?s ?p ?oFILTER NOT EXISTS { … }

(即,使用名为过滤器?的变量)。但是,如果没有看到您的代码,这将很难诊断。您还可能以某种方式错误地解析了查询。

您的第一个和第二个查询(假设您已定义了
前缀)是合法的。你可以跟我核对一下。例如,这些都是合法的:

prefix : <>

select ?p where 
  {
   ?s ?p ?o FILTER NOT EXISTS { ?s :wasBornIn ?o }
  }
在这种情况下,你最终会

?s ?p ?oFILTER NOT EXISTS { … }

(即,使用名为过滤器?的变量)。但是,如果没有看到您的代码,这将很难诊断。您还可能以某种方式错误地解析了查询。

您的第一个和第二个查询(假设您已定义了
前缀)是合法的。你可以跟我核对一下。例如,这些都是合法的:

prefix : <>

select ?p where 
  {
   ?s ?p ?o FILTER NOT EXISTS { ?s :wasBornIn ?o }
  }
在这种情况下,你最终会

?s ?p ?oFILTER NOT EXISTS { … }

(即,使用名为过滤器?的变量)。但是,如果没有看到您的代码,这将很难诊断。您还可能以某种方式错误地解析查询。

实际生成查询的代码在哪里。如果其中至少有一部分是缺少空格的字符串连接,我也不会感到惊讶。例如,
“?s?p?o”+“过滤器不存在…”
使用过滤器的变量
“s?p”生成过滤器不…
。我不是以字符串形式传递查询。我直接输入实际的查询@JoshuatayLord直接输入什么?你说你在和jena一起做这件事…我们需要先看看代码,然后才能说别的。正如我在回答中提到的,这两个查询本身都是格式良好的。我正在NetBeans的输出控制台中键入查询。然而我发现了问题所在。正如你所说,这些查询是有效的,但结果证明我错误地理解了负号的含义。我现在明白了。感谢@joshuataylor的帮助。实际生成查询的代码在哪里。如果其中至少有一部分是缺少空格的字符串连接,我也不会感到惊讶。例如,
“?s?p?o”+“过滤器不存在…”
使用过滤器的变量
“s?p”生成过滤器不…
。我不是以字符串形式传递查询。我直接输入实际的查询@JoshuatayLord直接输入什么?你说你在和jena一起做这件事…我们需要先看看代码,然后才能说别的。正如我在回答中提到的,这两个查询本身都是格式良好的。我正在NetBeans的输出控制台中键入查询。然而我发现了问题所在。正如你所说,这些查询是有效的,但结果证明我错误地理解了负号的含义。我现在明白了。感谢@joshuataylor的帮助。实际生成查询的代码在哪里。如果其中至少有一部分是缺少空格的字符串连接,我也不会感到惊讶。例如,
“?s?p?o”+“过滤器不存在…”
使用过滤器的变量
“s?p”生成过滤器不…
。我不是以字符串形式传递查询。我直接输入实际的查询@JoshuatayLord直接输入什么?你说你在和jena一起做这件事…我们需要先看看代码,然后才能说别的。正如我在回答中提到的,这两个查询本身都是格式良好的。我正在NetBeans的输出控制台中键入查询。然而我发现了问题所在。正如你所说,这些查询是有效的,但结果证明我错误地理解了负号的含义。我现在明白了。感谢@joshuataylor的帮助。实际生成查询的代码在哪里。如果其中至少有一部分是缺少空格的字符串连接,我也不会感到惊讶。例如,
“?s?p?o”+“过滤器不存在…”
使用过滤器的变量
“s?p”生成过滤器不…
。我不是以字符串形式传递查询。我直接输入实际的查询@JoshuatayLord直接输入什么?你说你在和jena一起做这件事…我们需要先看看代码,然后才能说别的。正如我在回答中提到的,这两个查询本身都是格式良好的。我正在NetBeans的输出控制台中键入查询。然而我发现了问题所在。正如你所说,这些查询是有效的,但结果证明我错误地理解了负号的含义。我现在明白了。谢谢你的帮助@JoshuaTaylor