检索更广泛的 dbpedia 词汇表以标记图片
Retrieving the wider dbpedia vocabulary for tagging pictures
我正在尝试用 JS 开发一个工具来标记图片,所以我需要一组来自 dbpedia 的可能的 "things"。我已经尝试过以这种方式检索:
select ?s ?l {
?s a owl:Class .
?s rdf:type ?l
FILTER regex(str(?s), "House", "i").
}
也是这样:
select ?label
WHERE {
?concept a skos:Concept.
?concept skos:prefLabel ?label.
FILTER regex(str(?label), "^House", "i").
}
在第一种情况下,我只有 "thing" 房子的 "instances",但没有 "House" class 本身。在第二个中,我从未检索到 "house",类似的是 "houses"。基于 dbpedia 数据集检索更好的词汇表的任何替代方法?
如果您不想将自己限制在 owl:Thing 或 skos:Concept,您可以只需获取标签包含 "house" 的东西。我没有使用 regex,而是选择使用 contains 和 lcase,因为字符串包含可能更少比调用完整的正则表达式处理器昂贵。
select ?thing ?label where {
?thing rdfs:label ?label .
filter contains(lcase(?label), "house")
}
我正在尝试用 JS 开发一个工具来标记图片,所以我需要一组来自 dbpedia 的可能的 "things"。我已经尝试过以这种方式检索:
select ?s ?l {
?s a owl:Class .
?s rdf:type ?l
FILTER regex(str(?s), "House", "i").
}
也是这样:
select ?label
WHERE {
?concept a skos:Concept.
?concept skos:prefLabel ?label.
FILTER regex(str(?label), "^House", "i").
}
在第一种情况下,我只有 "thing" 房子的 "instances",但没有 "House" class 本身。在第二个中,我从未检索到 "house",类似的是 "houses"。基于 dbpedia 数据集检索更好的词汇表的任何替代方法?
如果您不想将自己限制在 owl:Thing 或 skos:Concept,您可以只需获取标签包含 "house" 的东西。我没有使用 regex,而是选择使用 contains 和 lcase,因为字符串包含可能更少比调用完整的正则表达式处理器昂贵。
select ?thing ?label where {
?thing rdfs:label ?label .
filter contains(lcase(?label), "house")
}