Rdf 使用DBpedia和SPARQL获取所有定义的颜色

Rdf 使用DBpedia和SPARQL获取所有定义的颜色,rdf,wikipedia,sparql,semantic-web,dbpedia,Rdf,Wikipedia,Sparql,Semantic Web,Dbpedia,如何查询DBpedia以获取Wikipedia中所有颜色值(即任何使用colorinfobox)的名称和十六进制代码?本文使用颜色模板如下: {{infobox color| title=Spring Green|textcolor=black| hex=00FF7F| r= 0|g= 255|b= 127|sRGB=1 c=100|m=0|y=50|k=0| h=150|s=100|v=100<ref>{{cite web|url=http://web.forret.co

如何查询DBpedia以获取Wikipedia中所有颜色值(即任何使用
color
infobox)的名称和十六进制代码?本文使用
颜色
模板如下:

{{infobox color|
 title=Spring Green|textcolor=black|
 hex=00FF7F|
 r= 0|g= 255|b= 127|sRGB=1
 c=100|m=0|y=50|k=0|
 h=150|s=100|v=100<ref>{{cite web|url=http://web.forret.com/tools/color.asp?RGB=%2300FF7F|title=web.forret.com Color Conversion Tool set to hex code of color #00FF7F (Spring Green):}}</ref>
 |source=[[Web colors#X11 color names|X11]]}}
{{infobox color|
标题=春季绿色|文本颜色=黑色|
十六进制=00FF7F|
r=0 | g=255 | b=127 | sRGB=1
c=100 | m=0 | y=50 | k=0|
h=150 | s=100 | v=100{{引用web | url=http://web.forret.com/tools/color.asp?RGB=%2300FF7F|title=web.forret.com颜色转换工具设置为颜色的十六进制代码#00FF7F(春季绿色):}
|source=[[Web颜色#X11颜色名称| X11]]}

您可以尝试以下查询:

select distinct ?colour ?hex where {
  ?colour a dbpedia-owl:Colour .
  ?colour dbpprop:hex ?hex .
}
select distinct ?colour ?hex where {
  ?colour a dbpedia-owl:Colour .
  ?colour dbpedia-owl:colourHexCode ?hex .
}
看看结果

此外,还需要执行以下查询:

select distinct ?colour ?hex where {
  ?colour a dbpedia-owl:Colour .
  ?colour dbpprop:hex ?hex .
}
select distinct ?colour ?hex where {
  ?colour a dbpedia-owl:Colour .
  ?colour dbpedia-owl:colourHexCode ?hex .
}

对于许多颜色,.

十六进制值似乎是毫无意义的。我认为这是因为dbpedia将一种颜色的“变体”分组到父颜色中,例如,许多深浅的蓝色进入“蓝色”节点。所以十六进制是一种特殊的蓝色,但它不知道是哪一种。因此,您必须向下遍历到变体中,如果颜色有变体,则必须再次备份。我认为DBpedia对颜色变体没有太多作用,没有这种推断。这两个查询看起来相似,但实际上非常不同-这是一个原始属性。例如,第一个查询声称新罕布什尔州的通配符有一个名为“hex”的属性,其值为337.0华氏度,因为信息框包含行hex1=00337F,原始DBpedia提取器使用某些启发式方法处理该行,并得出该属性。另一方面,基于映射的提取器,知道新罕布什尔州的通配符不是颜色,也知道颜色有一个十六进制代码,应该提取为字符串,而不是整数。因此,第二个查询中的值要干净得多。它使用“clean”属性。见和。