繁体   English   中英

OWL/RDF 到 UML 转换器

[英]OWL/RDF to UML Converter

我是 OWL/RDF 本体概念的新手,我认为能够将它们转换为 UML 会很有用,这样我就可以使用我的 IDE 生成 class 骨架。假设这是一件合理的事情,你能推荐一个方法?

我知道有像这样的 OWL/RDF 解析器,但我找不到任何可以转换为 UML 的解析器。

编辑:

根据评论让我修改问题:

在基于现有本体开始新项目时,有没有一种方法可以轻松创建骨架类作为起点? 我不需要同步本体和类之间的更改——这是一次性设置,我希望它需要大量的复制和粘贴,这让我觉得这是错误的方法。

如果我没有正确使用本体,你能解释一下它们在设计 class 层次结构时的目的(如果有的话)吗?

这是我想要实现的示例(除了这只是 1 个传感器,我需要实现几个):

http://www.w3.org/2005/Incubator/ssn/XGR-ssn-20110628/#Smart_product_example

为了实施https://github.com/WolfgangFahl/pysotsog/issues/21我创建了一些转换代码,请参阅https://github.com/WolfgangFahl/pysotsog/blob/main/skg/dblp.py 目前用于 dblp 模式的网址为: https://dblp.org/rdf/schema ,转换示例位于: plantum online dblp schema

/'
 Wolfgang Fahl 2022-11-19
 updated 2022-11-19
  
 dblp schema https://dblp.org/rdf/schema
 converted from owl to plantuml
'/
title  dblp schema https://dblp.org/rdf/schema converted from owl to plantuml updated 2022-11-19
hide circle
package foaf {
  class Document {
  }
}
package dblp {
   note top of AmbiguousCreator
  Ambiguous Creator
  Not an actual creator, but an ambiguous proxy for an unknown number of unrelated actual creators. Associated publications do not have their true creators determined yet.
  end note
  class AmbiguousCreator{

  }
  AmbiguousCreator--Creator:possibleActualCreator
  Creator <|-- AmbiguousCreator
  note top of Informal
  Informal
  An informal or other publication.
  end note
  class Informal{

  }
  Publication <|-- Informal
  note top of Creator
  Creator
  A creator of a publication.
  end note
  class Creator{
    primaryCreatorName:string
    homepage:Document
    creatorNote:string
    orcid:anyUri
    creatorName:string
    affiliation:string
    awardWebpage:Document
    primaryAffiliation:string
    primaryHomepage:Document

  }
  Creator--Publication:editorOf
  Creator--AmbiguousCreator:proxyAmbiguousCreator
  Creator--Creator:coCreatorWith
  Creator--Creator:homonymousCreator
  Creator--Publication:authorOf
  Creator--Creator:coEditorWith
  Creator--Publication:creatorOf
  Creator--Creator:coAuthorWith
  Entity <|-- Creator
  note top of Publication
  Publication
  A publication.
  end note
  class Publication{
    primarydocumentPage:Document
    listedOnTocPage:Document
    yearOfEvent:gYear
    publishedBy:string
    isbn:anyUri
    publishersAddress:string
    publicationNote:string
    title:string
    bibtexType:Entry
    publishedInBookChapter:string
    doi:anyUri
    documentPage:Document
    numberOfCreators:integer
    publishedInSeries:string
    publishedInSeriesVolume:string
    publishedIn:string
    pagination:string
    yearOfPublication:gYear
    monthOfPublication:string
    publishedInJournalVolumeIssue:string
    publishedInJournal:string
    thesisAcceptedBySchool:string
    publishedInJournalVolume:string
    publishedInBook:string

  }
  Publication--Creator:createdBy
  Publication--Creator:authoredBy
  Publication--Creator:editedBy
  Publication--Signature:hasSignature
  Publication--Publication:publishedAsPartOf
  Entity <|-- Publication
  note top of Data
  Data
  Research data or artifacts.
  end note
  class Data{

  }
  Publication <|-- Data
  note top of Person
  Person
  An actual person, who is a creator of a publication.
  end note
  class Person{

  }
  Creator <|-- Person
  note top of AuthorSignature
  Author Signaure
  The information that links a publication to an author.
  end note
  class AuthorSignature{

  }
  Signature <|-- AuthorSignature
  note top of Inproceedings
  Inproceedings
  A conference or workshop paper.
  end note
  class Inproceedings{

  }
  Publication <|-- Inproceedings
  note top of Withdrawn
  Withdrawn
  A withdrawn publication item.
  end note
  class Withdrawn{

  }
  Publication <|-- Withdrawn
  note top of EditorSignature
  Editor Signaure
  The information that links a publication to an editor.
  end note
  class EditorSignature{

  }
  Signature <|-- EditorSignature
  note top of Editorship
  Editorship
  An edited publication.
  end note
  class Editorship{

  }
  Publication <|-- Editorship
  note top of Incollection
  Incollection
  A part/chapter in a book or a collection.
  end note
  class Incollection{

  }
  Publication <|-- Incollection
  note top of Reference
  Reference
  A reference work entry.
  end note
  class Reference{

  }
  Publication <|-- Reference
  note top of Group
  Group
  A creator alias used by a group or consortium of persons.
  end note
  class Group{

  }
  Creator <|-- Group
  note top of Signature
  Signature
  The information that links a publication to a creator.
  end note
  class Signature{
    signatureOrcid:anyUri
    signatureDblpName:string
    signatureOrdinal:integer

  }
  Signature--Creator:signatureCreator
  Signature--Publication:signaturePublication
  note top of Book
  Book
  A book or a thesis.
  end note
  class Book{

  }
  Publication <|-- Book
  note top of Entity
  Entity
  A general, identifiable entity in dblp.
  end note
  class Entity{
    identifier:anyUri
    wikipedia:Document
    archivedWebpage:Document
    wikidata:anyUri
    webpage:Document

  }
  Thing <|-- Entity
  note top of Article
  Article
  A journal article.
  end note
  class Article{

  }
  Publication <|-- Article
}

如果您想获得在线版本,只需点击 http://sotsog.bitplan.com中的链接创建一个问题。

截至 2023-01-08 有一个更通用的版本

检查UML到OWL转换器 它将UML转换为RDF / OWL,因此它的工作方向相反,但是可以用作任务的模板。 该转换器基于MDA方法,因此需要了解它(MOF,ODM,Eclipse EMF,ATL),这是值得拥有的。

我的理解是,“ 语义网 ”的概念仍处于远景阶段,一段时间内不会对开发人员产生影响。 最初的应用程序似乎以人与机器之间的知识共享为中心。 希望它朝着机器对机器共享的方向发展,因为此时对此似乎没有任何兴趣。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM