首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Anzograph问题

Anzograph问题
EN

Stack Overflow用户
提问于 2020-09-19 21:56:23
回答 2查看 96关注 0票数 1

我有以下SPARQL查询:

代码语言:javascript
复制
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是空的,知道我的图包含:

代码语言:javascript
复制
<http://www.anaee-france.fr/ontology/anaee-france_ontology#Guyaflux> 
rdfs:label "Guyaflux"@en .

当我直接使用

代码语言:javascript
复制
BIND ( IRI( "http://www.anaee-france.fr/ontology/anaee-france_ontology#Guyaflux" ) AS ?site ) .

而不是BIND IRI CONCAT

代码语言:javascript
复制
BIND ( IRI( CONCAT( "http://www.anaee-france.fr/ontology/anaee-france_ontology" , 
            ?anaeeSiteNameStandard )  ) AS ?site ) .

我得到了一些结果。

有人能告诉我怎么回事吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-09-24 14:49:14

我们同意“不知情”和“安迪”的观点,认为存在语法错误。您缺少了FROM和WHERE关键字的图URI,需要在concat中的#与您的示例uri匹配。

免责声明:我在剑桥语义公司工作。

票数 1
EN

Stack Overflow用户

发布于 2020-09-25 15:48:25

对不起,为了简化查询,我删除了"FROM“。

完整的Sparql查询如下:

代码语言:javascript
复制
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

奇怪的是,当我添加:

代码语言:javascript
复制
BIND ( str(?anaeeSiteNameStandard) AS ?anaeeSiteNameStandard ) . 

就在此之前:

代码语言:javascript
复制
BIND ( IRI( CONCAT( "http://www.anaee-france.fr/ontology/anaee-france_ontology" , 
                               ?anaeeSiteNameStandard )  ) AS ?site ) .

我得到了预期的结果!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63973724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档