我的目标是为我的数据实现语义搜索。我的数据域包含专业技能。我的数据结构需要额外的关系,比如“sameAs”和“broader”。因此,例如,如果我要搜索“关系数据库”,我也会期望“SQL”和“RDBMS”作为结果。
我的问题是,用 RDF(语义网络技术)来描述这些关系是否有意义。我的技能已经放在 MySql 数据库中,所以我会借助语义网络技术创建技能之间的关系(例如,sameAs 或相等)。这种方法是否对我的场景过度设计?我不知道什么时候应该使用语义网络技术。
我的目标是为我的数据实现语义搜索。我的数据域包含专业技能。我的数据结构需要额外的关系,比如“sameAs”和“broader”。因此,例如,如果我要搜索“关系数据库”,我也会期望“SQL”和“RDBMS”作为结果。
我的问题是,用 RDF(语义网络技术)来描述这些关系是否有意义。我的技能已经放在 MySql 数据库中,所以我会借助语义网络技术创建技能之间的关系(例如,sameAs 或相等)。这种方法是否对我的场景过度设计?我不知道什么时候应该使用语义网络技术。
有几点需要考虑:
broader
其视为传递属性,以便您的应用程序知道如果 X 是 Y 的更广泛概念,Z 是 X 的更广泛概念,Z 也是 Y 的更广泛概念。如果您的答案肯定是否定的,我会开始使用“传统”技术进行研究。
如果有疑问,您可以开始开发,但不要忘记诸如稳定标识符之类的问题。在开发过程中,您可以尝试将其导入 LMF 或使用D2R编写映射,看看它是否会给表格带来额外的东西。
您还可以尝试浏览/询问语义网的 Stackoverflow 等效项。
如果您对“更广泛”/“更窄”类型的关系最感兴趣,也许SKOS可能是一种合适的方法。它在叙词表、分类系统等中引入了一些“软语义”(不是我的话),这似乎是您拥有的那种数据。
使用 RDF 来描述这些关系肯定是有意义的。是否需要语义 Web 技术取决于您希望如何使用结构化数据。如果您希望能够选择探索大量相关概念,您可以将数据表示为 RDF 三元组并相应地遍历 RDF 图。如果您需要组合多个问题的复杂查询,SPARQL 可以作为答案,这同样需要在 RDF 中表示数据。此外,如果您想自动化数据管理任务,使用语义 Web 技术将是一个不错的选择。所以基本上这一切都取决于你想要执行什么样的任务以及如何执行。