问题标签 [folksonomy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
web-applications - 图像集合的语义技术/架构(用于 Web 应用程序)
刚接触语义技术并阅读了很多有关语义表示结构(概念网、(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:你知道我能指出的任何好的类似项目吗?
非常感谢大家的建议。
postgresql - Postgres 查询列出与特定标签匹配的项目的所有民俗标签
我正在研究存储可标记项目的 Postgres 数据库;它为此使用了典型的严格(带有 item_id 的项目的表,带有 tag_id 和 tag_name 的标签的表,给定项目具有给定标签的每个实例的表)。我已经组装了这个几乎可以满足我想要的查询的查询,以检索与至少一个所选标签匹配的项目并显示有关该项目的所有信息:
问题是列出项目标签的部分只会列出匹配的标签,而不是全部。(例如,如果某事物具有标签一、二和三,则此特定查询将建议它只有一和二。)
我想我可以使用嵌套的 SELECT 语句来做到这一点,但这感觉更正确,而且我还没有弄清楚如何做到这一点。
编辑:根据建议,我已对其进行了修改,但得到了完全相同的结果。
编辑2:所以我选择了子查询方法: