Anzograph SPARQL issue



我有以下SPARQL查询:

SELECT * FROM {
?measurement a  oboe-core:Measurement ;
oboe-core:ofCharacteristic oboe-core:Name ;
oboe-core:usesStandard :Anaee-franceExperimentalSiteNamingStandard ;
oboe-core:hasValue ?anaeeSiteNameStandard .

BIND ( IRI( CONCAT( "http://www.anaee-france.fr/ontology/anaee-france_ontology" , 
?anaeeSiteNameStandard )  ) AS ?site ) .
OPTIONAL { ?site rdfs:label ?_anaeeSiteName . }       

BIND ( IF (BOUND (?_anaeeSiteName), ?_anaeeSiteName, "NULL_anaeeSiteName"@en ) AS 
?anaeeSiteName) .
FILTER (lang( ?anaeeSiteName ) = "en") .
} limit 3

_anaeeSiteName为空,知道我的图形包含:

<http://www.anaee-france.fr/ontology/anaee-france_ontology#Guyaflux> 
rdfs:label "Guyaflux"@en .

当我直接使用时

BIND ( IRI( "http://www.anaee-france.fr/ontology/anaee-france_ontology#Guyaflux" ) AS ?site ) .

代替BIND IRI CONCAT

BIND ( IRI( CONCAT( "http://www.anaee-france.fr/ontology/anaee-france_ontology" , 
?anaeeSiteNameStandard )  ) AS ?site ) .

我得到了一些结果。

有人能告诉我怎么了吗?

谢谢

我们同意Uniformated和Andy的观点,认为存在语法错误。您缺少FROM和WHERE关键字的图形uri,并且需要concat中的#来匹配您的示例uri。

免责声明:我为剑桥语义股份有限公司工作

对不起,我删除了"FROM";以便简化查询。

完整的Sparql查询如下:

SELECT * FROM <foret> WHERE {
?measurement a  oboe-core:Measurement ;
oboe-core:ofCharacteristic oboe-core:Name ;
oboe-core:usesStandard :Anaee-franceExperimentalSiteNamingStandard ;
oboe-core:hasValue ?anaeeSiteNameStandard .

BIND ( IRI( CONCAT( "http://www.anaee-france.fr/ontology/anaee-france_ontology" , 
?anaeeSiteNameStandard )  ) AS ?site ) .
OPTIONAL { ?site rdfs:label ?_anaeeSiteName . }       

BIND ( IF (BOUND (?_anaeeSiteName), ?_anaeeSiteName, "NULL_anaeeSiteName"@en ) AS 
?anaeeSiteName) .
FILTER (lang( ?anaeeSiteName ) = "en") .
} limit 3

奇怪的是,当我添加:时

BIND ( str(?anaeeSiteNameStandard) AS ?anaeeSiteNameStandard ) . 

之前:

BIND ( IRI( CONCAT( "http://www.anaee-france.fr/ontology/anaee-france_ontology" , 
?anaeeSiteNameStandard )  ) AS ?site ) .

我得到了预期的结果!

最新更新