我想创建一个基于语义网络的网络应用程序。知识库是一个本体。我的问题是我的应用程序必须支持两种语言(英语和罗马尼亚语)。目前,我唯一的解决方案是创建两种不同的本体(仅翻译相同的值),但我认为可以创建支持这两种语言的本体。
所以我想找到在 Protege 中做这些事情的方法。
你能帮我出点主意吗?
谢谢(抱歉我的英语不好)
最佳答案
这取决于双语本体的含义。如果您想要一个本体,其中的概念可以同时呈现给英语读者和罗马尼亚语读者,但只有一组基本概念,那么这相当容易。概念的身份表示为URI,例如:
<http://example.com/ontology/animals/Dog> a owl:Class .
只有一个概念表示狗,但您可以添加标签和注释,以便以任一语言向用户呈现该类:
<http://example.com/ontology/animals/Doc>
a owl:Class ;
rdfs:label "dog"@en ;
rdfs:label "câine"@ro ;
rdfs:comment "Denotes the class of all dogs"@en ;
rdfs:comment "Denotă clasa tuturor câinilor"@ro .
对罗马尼亚语表示歉意 - 它来自谷歌翻译。我希望这是有道理的!我不使用 Protege,但您应该能够添加多种语言的标签和注释 - 这是 RDF 中的基本功能。
另一方面,如果您想要一个包含从两种语言中提取的概念的本体,那可能会更困难。我不懂罗马尼亚语(见上文!),所以我不知道情况是否如此,但有些语言以完全不同的方式概念化世界,因此定义一个融合了两种世界观概念的单一本体可能很困难。还有一种情况是,虽然 RDF 和 OWL 使用 UTF-8 作为其基本编码,但您可能会发现某些工具无法轻松处理包含 US ASCII 之外的字符的 URI。理论上情况并非如此,但您可能需要小心以防万一。
关于ontology - 如何在Protege中创建双语本体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16284824/