【发布时间】:2012-10-17 04:02:21
【问题描述】:
似乎没有一致的方法来根据名称查询编程语言。例子:
http://dbpedia.org/page/D_(programming_language)
rdfs:label "D (programming language)"@en
dbpprop:name "D programming language"
owl:sameAs freebase:"D (programming language)"
foaf:name "D programming language"
对比
http://dbpedia.org/page/C++
rdfs:label "C++"@en
dbpprop:name "C++"
owl:samwAs freebase:"C++"
foaf:name "C++"
由于“编程语言”、“(编程语言)”、“编程语言”、“(编程语言”或“”是否是 dbpedia 中编程语言名称的一部分没有标准约定,我不知道如何始终按名称搜索。
我想创建某种 SPARQL 查询,为“D”返回 http://dbpedia.org/page/D_(programming_language),为“C++”返回 http://dbpedia.org/page/C++,但我不知道该怎么做。
除非编程语言的各种三元组中至少有一个使用一致的命名约定,否则我将不得不先查询 name + " (programming_language)",然后返回 name + "(programming language" , name + "programming language" 当没有找到结果时。但我想要一个更健壮的方法。
【问题讨论】:
-
也许没有?似乎草图尝试将名称用作某种形式的标签/语义标记。 C++ 已经“完善”,而 D(编程语言)相对较新。出于某种重大原因,它还选择了一个非常常见的“名称”。例如。与 Ruby 打交道会发生什么?
-
也就是说,为什么不使用本体/属性来代替呢?例如dbpedia.org/page/Category:Programming_languages
-
@pst 大局是我想制作一个程序,给定一个编程语言名称,例如“Python”或“QML”,显示它与其他编程语言关系的可视化图表. Programming_language 类别将确保我的查询结果都是正确的类型,但这并不能帮助我按名称查找语言资源。