刚接触语义技术并阅读了很多有关语义表示结构(概念网、(xml)主题图、语义网、本体、描述逻辑以及RDF(S)、OWL(S)、SPARQL等语义 Web 技术)的知识,我目前很困惑使用什么语义技术来满足我当前的应用程序需求:
目标:一个使用众包来语义描述照片集中照片内容的网络应用程序——即根据可观察的主题和对象、它们各自的外观(=特征特征)、它们的关联、它们的描述来描述所描绘的“场景”动作等——以文本(基于标签)的方式,以便支持基于特征的语义搜索(初始)和导航(之后)范式。
毫无疑问,我需要通过语义技术来增强最近的民谣(标记)方法来组织和浏览内容——这种技术几乎与社交标记一样简单、灵活/动态,并且功能强大到足以形式化所需的语句。我认为应该支持这些构造中的大多数:
概念、概念类型和概念实例。
各个系统支持的关系,例如 is-a、is-instance-of、is-subtype-of 等。例子:
- 'Man'、'Woman' is-a 'Person'、'Person' is-a 'Animate' 等等。
- “彼得·帕克”是“人”的实例。“玛丽珍”是“女人”的实例。
- “巴西利亚”是位于“南美洲”的“巴西”城市。
具有系统和用户定义名称(差异种类)的概念特征/属性(= 类型属性和关系)。
【关于属性】:
- 简单数据类型的属性,以及
- 复杂类型的属性(复合;参考概念或概念类型),即
系统支持“有部分”关系。 - 也许是“单值”和“多值”属性之间的区别。
例子:
- 'Person' 具有 'string' 类型的 'last-name'、'int' 类型的 'age'等属性:
概念 'Person Parker' first-name 'Peter'、age '29'。 - 'Person' 与另一个 'Person' 有关系 'knows',例如:
'Peter Parker' know 'Mary Jane Watson'。 - “彼得帕克”穿着“红色和蓝色”颜色的“紧身衣”。
【关于关系】:
主要是二进制但也有一些 n 元关系的情况,例如
三元 rel "cuts_with(Person,Object,Tool)" 用于表达“彼得用刀切面包”。
所以,实际上我们有超图,但是高阶 rel 可以通过多个二进制 rel(具体化)来处理。关系的域和/或范围限制:例如,
关系“has-human-part”从概念“Person”到概念“HumanPart”。关系上的关系,换句话说:主要陈述上的次要陈述。例如:
“'Harry Osborn' 嫌疑人('Peter Parker' 知道 'Spiderman')” ——即组合/高阶范围。另一种情况:“('Plastic' x 'Metal') is-glued-by 'mySuperGlue' (Glue of Glue)” ——即组合/高阶域。
基于拓扑/位置的描述,例如
- “玛丽珍”站在“彼得”后面。
- 河流 'abc' 位于教堂 'xyz' 的南面。
- “鲨鱼群”在(图像的)右上角。
所以我的主要问题基本上是:
Q1:你会为这个网络应用程序上下文使用什么语义表示技术?
- 你会选择一种特殊的语义网络类型吗?
哪种(最好是轻量级)类型足够强大?
或者,您会选择像 RDF(S) 或 OWL(S) 这样的语义 Web 技术吗?
在这种情况下,至少需要哪一个?
- 这种选定的语义技术将使用哪种存储类型或合适?
RDBMS、图形数据库还是三重存储?
Q2:你知道我能指出的任何好的类似项目吗?
非常感谢大家的建议。