在UML图中,在类图中,构造型是什么意思<<compound>>?

问题描述 投票:0回答:2

我正在查看类图并创建 RDF/XML 格式的实例。例如,假设您对银行系统进行建模。该系统有一个帐户类并具有

<<Compound>>
构造型。该类具有
owner
balance
account_Number
作为其属性。还有一个类,银行类。

如果银行类有一个帐户:帐户 [0..1] 作为属性,那么它意味着什么?它如何将其表示为实例?

这是我的猜测。但这显然不符合 RDF 标准。

<cim:Bank rdf:ID="495151912155">
<cim:Bank.account>
    <owner>Bill</owner>
    <balance>9,005,000</balance>
    <account_Number>20-021-154-3214</account_Number>
</cim:Bank.account>
</cim:Bank>
uml rdf class-diagram
2个回答
0
投票

如何翻译 UML 类图很大程度上取决于您这样做的动机。也就是说,我已经完成了将 UML 类图转换为 OWL/RDF 的工作,以便能够对其进行推理并确定不一致之处。在这种情况下,为了表示属性,需要使用 OWL。我已经在here写过有关此内容的文章,您可以在here找到 UML 到 OWL 的参考,并且我正在开发 UML 到 OWL 的转换器

通常,在翻译用于语义 Web 技术的 UML 类图时,构造型会被忽略,并且所有与实现相关的问题(例如接口),我已经在here写过。

您的示例可以使用 Turtle 语法表示如下。作为示例数据,我假设您有一家名为

bankABC
的银行。一家银行可以拥有多个账户。示例账户为
account123
,所有者为
John Smith
,余额为
300000
,帐号为
123

  @prefix : <http://www.semanticweb.org/henriette007/ontologies/2024/2/untitled-ontology-1087/> .
  @prefix owl: <http://www.w3.org/2002/07/owl#> .
  @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
  @prefix xml: <http://www.w3.org/XML/1998/namespace> .
  @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
  @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
  @base <http://www.semanticweb.org/henriette007/ontologies/2024/2/untitled-ontology-1087/> .

  <http://henrietteharmse.com/uml/bankexample.owl> rdf:type owl:Ontology ;
                                                    owl:versionIRI <http://henrietteharmse.com/uml/v0.0.1/bankexample.owl> .

  #################################################################
  #    Object Properties
  #################################################################

  ###  http://henrietteharmse.com/uml/bankexample.owl#account
  :account rdf:type owl:ObjectProperty ;
          rdfs:range :Account .


  #################################################################
  #    Data properties
  #################################################################

  ###  http://henrietteharmse.com/uml/bankexample.owl#accountNumber
  :accountNumber rdf:type owl:DatatypeProperty ;
                rdfs:range xsd:string .


  ###  http://henrietteharmse.com/uml/bankexample.owl#balance
  :balance rdf:type owl:DatatypeProperty ;
          rdfs:range xsd:integer .


  ###  http://henrietteharmse.com/uml/bankexample.owl#owner
  :owner rdf:type owl:DatatypeProperty ;
        rdfs:range xsd:string .


  #################################################################
  #    Classes
  #################################################################

  ###  http://henrietteharmse.com/uml/bankexample.owl#Account
  :Account rdf:type owl:Class ;
          rdfs:subClassOf [ rdf:type owl:Restriction ;
                            owl:onProperty :accountNumber ;
                            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                            owl:onDataRange owl:rational
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :balance ;
                            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                            owl:onDataRange owl:rational
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :owner ;
                            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                            owl:onDataRange owl:rational
                          ] .


  ###  http://henrietteharmse.com/uml/bankexample.owl#Bank
  :Bank rdf:type owl:Class ;
        rdfs:subClassOf [ rdf:type owl:Restriction ;
                          owl:onProperty :account ;
                          owl:someValuesFrom :Account
                        ] .


  #################################################################
  #    Individuals
  #################################################################

  ###  http://henrietteharmse.com/uml/bankexample.owl#account123
  :account123 rdf:type owl:NamedIndividual ;
              :accountNumber 123 ;
              :balance 300000 ;
              :owner "John Smith" .


  ###  http://henrietteharmse.com/uml/bankexample.owl#bankABC
  :bankABC rdf:type owl:NamedIndividual ;
          :account :account123 .

0
投票

言归正传:

«compound»
既不是 UML 定义的构造型也不是关键字。所以它必须属于特定的配置文件。您需要询问模型作者使用了哪个配置文件,根据答案您可能会了解其含义。

© www.soinside.com 2019 - 2024. All rights reserved.