uml 与 RDF 和 OWL 的组合关系

2024-03-27

我是 RDF 和 OWL 本体的初学者。

我正在尝试将此图转换为 OWL 语法。

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
        >

    <!-- OWL Class Definition - Robot Position -->
    <owl:Class rdf:ID="house" />
            <owl:Class rdf:ID="room" />
            <owl:Class rdf:ID="kitchen" />
            <owl:Class rdf:ID="garden" />
            <owl:Class rdf:ID="table" />
            <owl:Class rdf:ID="chair" />

    <owl:ObjectProperty rdf:ID="composedBy">
        <rdfs:domain rdf:resource="#house"/>
        <rdfs:rang rdf:resource="#room" >
    </owl:ObjectProperty>              
</rdf:RDF>

我不知道如何使由关系组成的关系多次使用。 我正在考虑制定集合类型的范围

(house)---composedBy---(room, kitchen, garden)

但是,我想使用相同的关系

(kitchen)---comoposedBy---(table, chair)

验证器出错,因为我两次使用composedBy作为ID。 (我现在把它删除了)

我怎样才能正确翻译这个图。

:))


如果你想说一栋房子必须有一个(或至少一个)厨房,并且必须有一个(或至少一个)房间,并且必须有一个(或至少一个)花园,那么 unionOf 不是真正解决这里的问题。我认为,与其担心组合属性的范围,不如拥有更通用的组件属性,并通过使用存在限制来表达必须保持的不同关系,这可能会更有帮助。例如,你可以这样说

房屋&sqsubseteq; =1 有部分.厨房
房屋&sqsubseteq; ≥2有部分房间
房屋&sqsubseteq; ∃hasPart.花园

说一栋房子恰好有一个厨房,至少两个房间,和至少一个花园。同样,你可以说有一张桌子和一把椅子

厨房及套房∃hasPart.椅子
厨房及套房∃hasPart.Table

在 Protégé 中,这看起来像:

Turtle 和 RDF/XML 中的 RDF 序列化是:

@prefix :      <http://www.example.org/houses#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<http://www.example.org/houses>
        a       owl:Ontology .

:hasPart  a     owl:ObjectProperty .

:Table  a       owl:Class .
:Room   a       owl:Class .
:Garden  a      owl:Class .
:Chair  a       owl:Class .

:House  a                owl:Class ;
        rdfs:subClassOf  [ a                            owl:Restriction ;
                           owl:minQualifiedCardinality  "2"^^xsd:nonNegativeInteger ;
                           owl:onClass                  :Room ;
                           owl:onProperty               :hasPart
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      :hasPart ;
                           owl:someValuesFrom  :Garden
                         ] ;
        rdfs:subClassOf  [ a                         owl:Restriction ;
                           owl:onClass               :Kitchen ;
                           owl:onProperty            :hasPart ;
                           owl:qualifiedCardinality  "1"^^xsd:nonNegativeInteger
                         ] .


:Kitchen  a              owl:Class ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      :hasPart ;
                           owl:someValuesFrom  :Table
                         ] ;
        rdfs:subClassOf  [ a                   owl:Restriction ;
                           owl:onProperty      :hasPart ;
                           owl:someValuesFrom  :Chair
                         ] .
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://www.example.org/houses#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
  <owl:Ontology rdf:about="http://www.example.org/houses"/>
  <owl:Class rdf:about="http://www.example.org/houses#Room"/>
  <owl:Class rdf:about="http://www.example.org/houses#House">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="http://www.example.org/houses#hasPart"/>
        </owl:onProperty>
        <owl:onClass rdf:resource="http://www.example.org/houses#Room"/>
        <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
        >2</owl:minQualifiedCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="http://www.example.org/houses#hasPart"/>
        <owl:someValuesFrom>
          <owl:Class rdf:about="http://www.example.org/houses#Garden"/>
        </owl:someValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="http://www.example.org/houses#hasPart"/>
        <owl:onClass>
          <owl:Class rdf:about="http://www.example.org/houses#Kitchen"/>
        </owl:onClass>
        <owl:qualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
        >1</owl:qualifiedCardinality>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="http://www.example.org/houses#Chair"/>
  <owl:Class rdf:about="http://www.example.org/houses#Table"/>
  <owl:Class rdf:about="http://www.example.org/houses#Kitchen">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="http://www.example.org/houses#hasPart"/>
        <owl:someValuesFrom rdf:resource="http://www.example.org/houses#Table"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty rdf:resource="http://www.example.org/houses#hasPart"/>
        <owl:someValuesFrom rdf:resource="http://www.example.org/houses#Chair"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uml 与 RDF 和 OWL 的组合关系 的相关文章

  • 主动类与被动类

    在 UML 规范上层结构 2 5 仍为 Beta 第 203 页 中 可以通过将 isActive 设置为 true 来指定类为活动类 即 它的每个实例都是一个活动对象 当 isActive 为 false 时 类是被动的 即 它的每个实例
  • 如何快速理解任何产品的设计和代码流程? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将嵌入的 Blazegraph 内容转储到 RDF 文件?

    I have 创建了 blazegraph RDF4J 存储库和连接 https wiki blazegraph com wiki index php Sesame API Tutorial在斯卡拉中 val props new Prope
  • RDF和OWL工作流程问题

    我一直在通过 Protege 查看和使用 OWL 我想知道我是否正确理解 工作流程 和它的想法 从头开始构建数据库 使用 Protege 或等效工具为您的数据生成 OWL 本体 将此模式导出为 RDF 使用定义为三元组中的某些元素的类以及目
  • 传统的基于代码的工程和模型驱动的工程方法有什么区别?

    我在文献中找到了这段话 但我不明白它的含义 设计实践正在从传统的基于代码的工程转向 在整个开发生命周期中进行严格的分工 模型驱动的工程方法 其中所有人员都参与设计 流程可以对模型有发言权 任何帮助将不胜感激 基于代码的工程意味着大部分工作是
  • 显示除“<>”或“<>”之外的 UML 用例图的依赖关系

    除了 扩展 或 包含 之外 我们如何显示用例之间的简单依赖关系 例如 我们想说用例 1 依赖于由用户 1 完成的用例 2 可以用一个简单的箭头来实现吗 向哪个方向 是的 还有其他依赖项 直接连接到用例的类的完整列表是 UML 2 5 标准的
  • 如何在 UML 中指定“一次一个”?

    我正在制作一个类图Classroom and a Course class 我怎样才能表明Classroom只能有一个Course一次在其中吗 我知道我可以使用多重性来指定教室可以只开设一门课程 但这并不能完全指定在不同时间可以有除该一门课
  • 如何在 UML 活动图上显示异步操作

    我即将绘制 记录一些客户端 服务器连接建立代码 以更好地理解它 有几个操作是在单独的线程中异步完成的 连接线程 数据接收线程等 我应该在单独的图表上显示它们吗 我更愿意将其放在单个图表上以掌握整体视图 但不知道如何在活动图上表示它 我不确定
  • UML 领域建模

    领域模型和数据模型有什么区别 数据模型是一个design仅描述数据及其关系的模型 该模型包含实体 但它们是根据什么来描述的data他们不负责如何处理这些数据或他们的责任是什么 另一方面 领域模型是用于分析问题领域的概念模型 它用具有关系 数
  • 如何用UML表示通信协议?

    在我的 UML 模型中 我有一个系统及其相互通信的子组件 例如 我有一台计算机和一个遥控机器人 它们通过蓝牙进行通信 目前图中的流程类似于 计算机 触发 遥控车 的 setVelocity 函数 在这一点上 我想通过说以下的话来完善沟通 计
  • 在构建语义 Web 应用程序时,OWL 是如何实际使用的?

    我一直在阅读有关语义 Web 技术 例如 RDF 和 OWL 的内容 并且对在现有关系数据库之上构建 RDF 三重存储语义数据库的可能性很感兴趣 这只是一项研发活动 看看我能做什么 我喜欢的样子OWLIM http www ontotext
  • 如何在 UML 类图中表示“事件”?

    这是我的代码片段 public class Notation INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged private N
  • OWL ObjectProperty 在 Protégé 中作为注释加载

    我正在尝试加载ontology http www bbc co uk ontologies wildlife 2010 11 04 shtml在 Prot g 中 但未按预期进行处理 最有问题的是所有对象和数据属性都显示为注释而不是数据属性
  • 来自 WEBVTT 的 RDF/JSON Javascript 解析器

    晚上好 开门见山 我需要一个脚本来从 WEBVTT 文件中的特定时间间隔获取 RDF JSON 结构 这样的事情存在吗 RDF JSON 是 Talis 指定的文件结构 如下所示 S P O WEBVTT 实现上述结构如下 0 00 00
  • RDF、RDFa、微格式和微数据之间有什么关系

    我已经做了很多研究 但我无法理解这 3 者之间的确切关系 另外 既然 W3C 已经正式认可 RDFa 考虑到它与 Microdata 的功能等相匹配 您会推荐它而不是 Microdata 吗 我无法想象你会发现什么如此令人困惑讽刺 gt 编
  • Dia:图表编辑器:盒子对象的限制?

    如标题所示 我尝试为 hte 3d 图形引擎 ogre3d 开发尽可能少的方案 问题是大图方案 Ogre Root 类需要相当多的从它下降的箭头 用关系箭头连接框的模型是它们只能通过边界周围的特定点 称为 关节 或其他东西 进入 退出 但现
  • 绘制 UML 时何时使用属性(属性)而不是关联/聚合/组合

    好吧 我有点困惑 当尝试在 UML 图中显示关系时 我应该向类添加属性 还是绘制与类的关联 例如 假设我有一个 DFA 类 其中包含 10 个状态对象 每个状态对象都有一组不同的通往 DFA 中各种状态的路径 我应该绘制从 DFA 到 St
  • UML状态图中守卫和事件的区别

    我以为我可以区分event and guard 但我遇到了一个与守卫类似的事件 counter gt 4 pin is high switch on event 我将变量计数器从小于 4 的某个值更改为大于 4 的值作为事件 这是否意味着事
  • 有没有办法在 Visual Studio 或 MATLAB 中“映射”程序执行顺序?

    我所说的 地图 是指我有一个 主 函数 它调用内部的许多其他程序 我希望能够看到哪个文件首先运行 第二个 第三个等等 基本上 我希望能够请参阅这个大型 OOP 设计程序 创建者没有为其制作 UML 类图 中的依赖项列表和顺序 以帮助破译代码
  • 如何在 UML 中正式记录 C# 属性?

    在 UML 类图中记录类的 C 属性的正确方法是什么 我还没有决定这是否是我的答案 但我想我会把它扔在那里以便讨论 这看起来可以接受吗 它是属性类型的实例 其中元数据值放入下面的标记值中 我刚刚弄清楚如何添加自定义立体类型 该箭头只是一个标

随机推荐