我正在试图找出如何进行一些查询,通过这些查询我应该获得与时尚相关的内容,例如已知布料类型,布料制造商或知名时装设计师的列表。 我花了最近几天试图通过DBpedia或Freebase进行这样的查询,但我似乎无法弄明白。有点像我需要的例子我找不到......
有人可以帮我解决这个问题吗?我可以开始研究一些简短的例子,或者一些教程解释我如何才能实现这样的目标?
谢谢
稍后修改
我还发现DBpedia包含一个本体属性“dressCode”,我发现这些页面:http://en.wikipedia.org/wiki/Dress_code_(Western)和http://en.wikipedia.org/wiki/Dress_code列出了一些基本的着装规范,如“Formal”,“Casual” ... 现在我的想法是从这些子类别中的每一个获取属性(或者在DBpedia上定义它们,因为我看到它们彼此不同)。 有关如何做到这一点的任何建议吗?
稍后修改
我设法做了一些查询,以显示一些实际上可以帮助我的信息:
SPARQL - list of social events
SELECT DISTINCT (?label as ?sub)
WHERE {
{
?sub skos:broader <http://dbpedia.org/resource/Category:Social_events> .
?sub rdfs:label ?label.
OPTIONAL {?subsub dcterms:subject ?sub}
}
}
SELECT DISTINCT (?label as ?dressCode)
WHERE {
{
?dressCode dcterms:subject <http://dbpedia.org/resource/Category:Dress_codes> .
?dressCode rdfs:label ?label.
filter(langMatches(lang(?label),"EN"))
}
}
现在我想为每个着装要求检索“主题”,以便我可以将着装要求以某种方式连接到社交活动,但我有问题要做。
稍后修改
我得出的结论是,我找不到符合我需要的本体论。基本上我需要根据事件类型获取布料属性,以便我可以提出布料建议。除了事件类型的限制之外,我还想添加其他属性,例如当前时尚趋势,事件发生的季节,地理位置(如果可能)以及其他类似的小细节。 现在我正在尝试使用DBpedia上存在的现有本体和数据。 Freebase,如:'着装要求','活动类型','颜色','时装设计师','面料','纹理','制造商','尺寸',并将它们组合成一个我可以实际使用的本体我的项目实际上是布料推荐。
任何人都可以帮我提供一些如何做到这一点的指导方针吗?我尝试使用Protege来组合一些本体并在此之后扩展它们,但最后我没有做到这一点。
答案 0 :(得分:2)
可能是您可以开始的第一个地方之一DBpedia ontology。当我搜索像Fashion这样的关键词时,我可以看到有像FashionDesigner这样的课程。因此,我可以使用DPpedia公共SPARQL端点通过简单的SPARQL查询检查有关DPpedia中时装设计师的信息。
(a)a list of fashion designers:
select distinct ?fashionDesigner
where {
?fashionDesigner a dbpedia-owl:FashionDesigner
}
LIMIT 100
(b)what are the information generally available about a fashion designer
select distinct ?property
where {
?fashionDesigner a dbpedia-owl:FashionDesigner;
?property ?value .
}
我也可以选择查询(a)的一个结果,例如Donna Karan,看看她有什么样的信息。
现在,我的任务是看谁是知名时装设计师。我不太了解时尚,但我看到其中一些有奖项。所以我可以查询获奖的时装设计师。(c)Fashion designers who have won awards
select distinct ?fashionDesigner ?award
where {
?fashionDesigner a dbpedia-owl:FashionDesigner;
dbpprop:awards ?award .
}
我只使用非常基本的SPARQL查询,但是当您了解有关数据中与时尚相关的概念和属性的更多信息时,您可以使用更复杂的查询。
您可以对LineOfFashion,Clothing等类采用类似的方法。
例如 (d)a list of clothing manufactures
选择distinct?company where { ?公司dbpedia-owl:产品dbpedia:服装; dcterms:主题类别:Clothing_brands。 }限制100
您探索的越多,您就可以构建更好的查询。我希望这会帮助你开始。
答案 1 :(得分:0)
这是一个从Freebase返回获奖时装设计师的查询:https://www.googleapis.com/freebase/v1/search?limit=10&scoring=entity&filter=(all+type%3A%2Faward%2Faward_winner+notable%3A%22fashion+designer%22)&lang=en&indent=true
有一个小的在线实用工具,您可以用它来试验这个并查看您感兴趣的其他一些项目: http://freebase-search.freebaseapps.com/?filter=(all+type%3A%2Faward%2Faward_winner+notable%3A%22fashion+designer%22)&limit=10&scoring=entity&lang=en