ドメイン固有言語変換Cellfie-体(MappingMaster DSL)の概要

私は弟子に一括インポートデータへの身体のニーズを作るプロセスをモデル化し、その内蔵のモジュールCellfie私たちは、あなたがMappingMaster DSLを実行する必要があり、その文法規則中に変換規則を使用する必要性を、このプロセスを達成するのを助けることができます。その概要と議論がCellfie [1]仕上げの公式ドキュメントの後に続きます。

ドメイン固有言語(DSL)を使用してMappingMasterは、スプレッドシートOWL本体へのコンテンツのマッピングを定義します。マンチェスターに基づいて、OWL言語の構文、フィールド自体を記述するために使用する構文を変更し、特定のオントロジ言語OWLです。

以下は、実験のスクリーンショットです。リファレンス仕様:A3 @、@ 'Sheet1の' A3!

図1に示すように、指定された位置データインポートクラスまたは個々。

Class: @A1(指定一个位置)、@A*(指定一列)、@*1(指定一行)

図2に示すように、データの特定のタイプに個別に指定されたデータを導入しながら、指定された位置:

Individual: @A* Types: movieid、Individual: @A* Types: @A1

図3に示すように、親クラスを導入する指定された場所のためのデータが存在します。

Class: id SubClassOf: @A1 //需要注意的是id类必须存在原来的本体中。

図4に示すように、データは、親クラスの別の指定の場所に指定された位置に導入されます。

Class: @B2 SubClassOf: @A1

クラスが存在するように、図5に示すように、指定された位置のデータは、同じクラス内に導入されます。

 Class: id 
 EquivalentTo: @B4

図6は、指定されたデータの位置は、同じクラスの別の指定された場所をインポートします。

Class:@A1
EquivalentTo: @B4

図7に示すように、指定された場所に一例としてデータを持つ句hastitleを導入すると、mと属性値ことを利用してデータ:

Individual:@D2
Facts: hastitle "m"//这里的hastitle在本体中必须存在

図8に示すように、指定された場所に一例として句有するデータを導入することは、Mのhastitle値を属性ことを利用したデータは、22/02/2020 hasSource性宣言の値を有します。

Individual:@D2
Facts: hastitle "m"
Annotations: hasSource "22/02/2020"

図9に示すように、データは、カテゴリによって記載されている正規表現に挿入することができます。

Class: title
SubClassOf:(hastype Value @A2)//hastpye是一个对象属性
或
Class: @A1
SubClassOf:(hastype Value @A2)//hastpye是一个对象属性

10、明白な状況の種類が挙げられ、明確に推測することができないプロセスで発生する可能性があり、我々は、エンティティのデータ型を指定する必要があります。詳細な括弧が指定され、指定されたタイプMappingMasterキーワードの範囲:クラス、OBJECTPROPERTY、DataProperty、AnnotationProperty、個々のは、をxsd:XXXを。

Class: movieid
SubClassOf:(@F2(Objectproperty) value @D4)

図11は、プロセスに新しいエンティティ参照データを作成する、3つの方法があります。

Class: @B4(rdf:ID) //第一种利用rdf:ID表达实体
SubClassOf: movieid
Class: @B4(mm:Location) //第二种忽略单元格内容利用单元格位置表达实体
SubClassOf: movieid
Class: @B4(rdfs:label) //第三种利用rdfs:label表达并表示实体
SubClassOf: movieid

12、アノテーションの値は、例えば、注釈を解析して、親クラスの値と、式の過程で直接参照することができます。

Class:@B4
SubClassOf:'A television program'

図13は、アプリケーション・プロセスにおいて、また、例えば、修飾され文指定されたカスタムコンテンツを参照する直接使用することができます。

Class: @A5(rdfs:label=("Sale:",@A5))//在指定的单元格内容前加入指定字符
或
Class: @A5(rdf:ID=@B5  rdfs:label=("Sale:",@A5))//不同的标识和标签值可以生成一个特殊的实体

14、処理データは内蔵のテキスト処理方法を含むで使用されるかもしれません。

mm:replace//替换字符
mm:replaceAll//替换字符
mm:replaceFirst//替换字符
mm:prepend//前追加字符
mm:append//后追加字符
mm:toLowerCase//小写转换
mm:toUpperCase//大写转换 
mm:trim//排序
mm:reverse//顺序转换
mm:printf//文字编码
mm:decimalFormat//数字编码

 15、操作のドメイン固有言語サポートデータの特定のタイプ:

xsd:string
xsd:boolean
xsd:byte
xsd:short
xsd:int
xsd:long
xsd:float
xsd:double
xsd:integer
xsd:decimal
xsd:dateTime
xsd:date
xsd:time
xsd:Duration
rdf:PlainLiteral
rdf:XMLLiteral

16は、インポートデータ中に名前空間を指定する必要があります。

Individual: @A2(mm:prefix="clinical")
Individual: @A2(mm:namespace="http://clinical.stanford.edu/Clinical.owl#")
相似的指定语法包括:
mm:defaultPrefix
mm:defaultNamespace
mm:defaultLanguage
mm:ResolveIfOWLEntityExists
mm:SkipIfOWLEntityExists
mm:WarningIfOWLEntityExists
mm:ErrorIfOWLEntityExists
mm:CreateIfOWLEntityDoesNotExist
mm:SkipIfOWLEntityDoesNotExist
mm:WarningIfOWLEntityDoesNotExist
mm:ErrorIfOWLEntityDoesNotExist
mm:ProcessIfEmptyLabel
mm:ErrorIfEmptyLabel
mm:WarningIfEmptyLabel
mm:SkipIfEmptyLabel

17、また、冗長データのテキストが、あなたには、例えば、それを処理するために正規表現を取ることができ、共通のプレフィックスが含まれているような状況が発生することがあり、データを処理するには:

Class: @A5(rdfs:label=[":(\S+)"]) 

Individual: @A2 
Types: Person 
Facts: hasForename @A2(["(\S+)"]), 
       hasInitial @A2(["\S+\s(\S+)"]), 
       hasSurname @A2(["\S+\s\S+\s(\S+)"]) 

18は、プロセスの値が欠落している細胞を生成する場合、デフォルト値は、ルール言語に設定することができます。

Class:@A5(rdfs:label mm:DefaultLabel="Unkown")
其他四种方式:
mm:ErrorIfEmptyLocation
mm:SkipIfEmptyLocation
mm:WarningIfEmptyLocation
mm:ProcessIfEmptyLocation

図19に示すように、プロセスは、転位は、例えば、位置処理のキーワードのために使用することができる場合に使用されるかもしれません。

Class: @A5(mm:ShiftUp)//如果A5不包含一个值声明类的名称然后行号必须向上转移,直到找到一个值。
其他方法包括:
mm:ShiftDown
mm:ShiftLeft
mm:ShiftRight

20、必然的にトラバースするために使用される方法をデータ処理の多くが存在するであろう二つの実用的な例を以下に引用しました:

  Individual: @** 
  Types: movieid //为电影id创建实例
  Individual: @A* 
  Types: movieid 
  Facts: hastitile @B*, 
         hasyear @C*, 
         haslength @D* 

21、およびデフォルトの部分ワードのデフォルトを返します。

mm:DefaultReferenceType的默认值为Class,其他可能的值包括NamedIndividual,ObjectProperty,DataProperty,AnnotationProperty和任何XSD数据类型。
mm:DefaultPropertyType的默认值为ObjectProperty,其他可能的值是DataProperty和AnnotationProperty。
mm:DefaultPropertyValueType的默认值为xsd:string如果我们期望(数据或注释)属性值,请使用xsd:string
mm:DefaultDataPropertyValueType的默认值为xsd:string。其他可能的值包括任何XSD数据类型。
mm:DefaultValueEncoding的默认值为rdf:ID。其他可能的值是rdfs:Label,mm:Literal和rdfs:Location。
mm:DefaultIRIEncoding的默认值为mm:CamelCaseEncoding,其他可能的值是mm:NoEncode,mm:NoSnakeCaseEncode,mm:UUIDEncode和mm:HashEncode。
mm:DefaultShiftSetting的默认值为mm:NoShift,其他可能的值是mm:ShiftUp,mm:ShiftDown,mm:ShiftLeft和mm:ShiftRight。
mm:DefaultEmptyLocationSetting的默认值为mm:WarningIfEmptyLocation。
mm:DefaultEmptyLiteralSetting的默认值为mm:WarningIfEmptyLiteral。
mm:DefaultEmptyRDFIDSetting的默认值为mm:WarningIfEmptyRDFID。
mm:DefaultEmptyRDFSLabelSetting的默认值为mm:WarningIfEmptyRDFSLabel。
mm:DefaultIfOWLEntityExistsSetting的默认值为mm:ResolveIfOWLEntityExists。
mm:DefaultIfOWLEntityDoesNotExistSetting的默认值为mm:CreateIfOWLEntityDoesNotExist。
mm:DefaultLocationValue的默认值为“”。
mm:DefaultLiteralValue的默认值为“”。
mm:DefaultRDFID的默认值为“”。
mm:DefaultRDFSLabel的默认值为“”。
mm:DefaultLanguage的默认值为“”。
mm:DefaultPrefix的默认值为“”。
mm:DefaultNamespace的默认值为“”。

22は、ドメイン固有言語は、含むの単語のすべてをサポートすることはできませんと。

OWL object property declarations
OWL data property declarations
OWL annotation property declarations
OWL datatype declarations
OWL literal type qualification
OWL disjoint classes
OWL equivalent and disjoint properties
OWL negative property assertions
OWL has key

 

リファレンス

[1] https://github.com/protegeproject/mapping-master/wiki/MappingMasterDSL

[2] https://github.com/protegeproject/mapping-master/wiki/Transformation-Rule-Language

[3] https://github.com/protegeproject/mapping-master/wiki/MappingMasterGUI

リリース6元記事 ウォンの賞賛6 ビュー425

おすすめ

転載: blog.csdn.net/weixin_40469691/article/details/104436365
おすすめ