|
|
@@ -0,0 +1,57 @@
|
|
|
+// Vocabulary for the Draw.io file format
|
|
|
+vocabulary <http://flandersmake.be/cdf/vocabulary/drawio#> as drawio {
|
|
|
+
|
|
|
+ extends <http://flandersmake.be/cdf/vocabulary/object_diagram#> as object_diagram
|
|
|
+ extends <http://flandersmake.be/cdf/vocabulary/dict#> as dict
|
|
|
+ extends <http://www.w3.org/2001/XMLSchema#> as xsd
|
|
|
+
|
|
|
+ aspect element :> object_diagram:Object
|
|
|
+
|
|
|
+ concept Page :> element [
|
|
|
+ restricts relation ofModel to exactly 1
|
|
|
+ restricts scalar property hasName to exactly 1
|
|
|
+ restricts scalar property hasDrawioId to exactly 1
|
|
|
+ ]
|
|
|
+
|
|
|
+ relation entity HasPageAttribute [
|
|
|
+ from Page
|
|
|
+ to PageAttribute
|
|
|
+
|
|
|
+ ]
|
|
|
+
|
|
|
+ concept PageAttribute :> dict:DictEntry []
|
|
|
+
|
|
|
+ scalar property hasName [
|
|
|
+ domain Page
|
|
|
+ range xsd:string
|
|
|
+ functional
|
|
|
+ ]
|
|
|
+
|
|
|
+ scalar property hasDrawioId [
|
|
|
+ domain Page
|
|
|
+ range xsd:string
|
|
|
+ functional
|
|
|
+ ]
|
|
|
+
|
|
|
+ // A Drawio file:
|
|
|
+ concept Model :> object_diagram:Model [
|
|
|
+ restricts all relation object_diagram:hasObject to element
|
|
|
+ restricts scalar property isCompressed to exactly 1
|
|
|
+ ]
|
|
|
+
|
|
|
+ relation entity HasPage [
|
|
|
+ from Model
|
|
|
+ to Page
|
|
|
+ forward hasPage
|
|
|
+ reverse ofModel
|
|
|
+ inverse functional
|
|
|
+ asymmetric
|
|
|
+ irreflexive
|
|
|
+ ]
|
|
|
+
|
|
|
+ scalar property isCompressed [
|
|
|
+ domain Model
|
|
|
+ range xsd:boolean
|
|
|
+ functional
|
|
|
+ ]
|
|
|
+}
|