Просмотр исходного кода

Fix bug in object_diagram vocabulary (cardinality of 'hasField' should be *) + rename xournalpp -> xopp

Joeri Exelmans 3 лет назад
Родитель
Сommit
8b1eb0a411

Разница между файлами не показана из-за своего большого размера
+ 108 - 108
examples/oml/CDF/src/oml/flandersmake.be/cdf/description/my_xopp.oml


+ 1 - 0
examples/oml/CDF/src/oml/flandersmake.be/cdf/vocabulary/bundle.oml

@@ -7,4 +7,5 @@ vocabulary bundle <http://flandersmake.be/cdf/vocabulary/bundle#> as ^bundle {
 	includes <http://flandersmake.be/cdf/vocabulary/pm#>
 	includes <http://flandersmake.be/cdf/vocabulary/pt#>
 	includes <http://flandersmake.be/cdf/vocabulary/statechart#>
+	includes <http://flandersmake.be/cdf/vocabulary/xopp#>
 }

+ 2 - 1
examples/oml/CDF/src/oml/flandersmake.be/cdf/vocabulary/object_diagram.oml

@@ -8,10 +8,11 @@ vocabulary <http://flandersmake.be/cdf/vocabulary/object_diagram#> as object_dia
 	//  - use attributes only for scalar properties
 	//  - if we want to have a reference to an object as an attribute, use a link instead
 	
+	// Supertype of all scalar properties that we consider to be a 'field' of an object
+	// An object can have any number of fields, hence this property is not functional
 	scalar property hasField [
 		domain Object
 		range rdfs:Literal // e.g., string, float, boolean, ...
-		functional
 	]
 
 	// A link is also an object, meaning:

+ 17 - 18
examples/oml/CDF/src/oml/flandersmake.be/cdf/vocabulary/xournalpp.oml

@@ -1,4 +1,4 @@
-vocabulary <http://flandersmake.be/cdf/vocabulary/xournalpp#> as xournalpp {
+vocabulary <http://flandersmake.be/cdf/vocabulary/xopp#> as xopp {
 
 	extends <http://flandersmake.be/cdf/vocabulary/object_diagram#> as object_diagram
 	extends <http://www.w3.org/2001/XMLSchema#> as xsd
@@ -9,13 +9,13 @@ vocabulary <http://flandersmake.be/cdf/vocabulary/xournalpp#> as xournalpp {
 		restricts relation inLayer to exactly 1
 		restricts scalar property hasText to exactly 1
 	]
-	scalar property hasText [
+	scalar property hasText :> object_diagram:hasField [
 		domain LayerElement
 		range xsd:string
 		functional
 	]
 
-	relation entity HasXMLAttribute [
+	relation entity HasXMLAttribute :> object_diagram:Link [
 		from LayerElement
 		to XMLAttribute
 		forward hasAttribute
@@ -28,12 +28,12 @@ vocabulary <http://flandersmake.be/cdf/vocabulary/xournalpp#> as xournalpp {
 		restricts scalar property hasValue to exactly 1
 		restricts relation ofLayerElement to exactly 1
 	]
-	scalar property hasKey [
+	scalar property hasKey :> object_diagram:hasField [
 		domain XMLAttribute
 		range xsd:string
 		functional
 	]
-	scalar property hasValue [
+	scalar property hasValue :> object_diagram:hasField [
 		domain XMLAttribute
 		range xsd:string
 		functional
@@ -46,7 +46,7 @@ vocabulary <http://flandersmake.be/cdf/vocabulary/xournalpp#> as xournalpp {
 		restricts relation inPage to exactly 1
 	]
 	
-	relation entity HasLayerElement [
+	relation entity HasLayerElement :> object_diagram:Link [
 		from Layer
 		to LayerElement
 		forward hasElement
@@ -65,32 +65,32 @@ vocabulary <http://flandersmake.be/cdf/vocabulary/xournalpp#> as xournalpp {
 		restricts scalar property hasBackgroundStyle to exactly 1
 	]
 
-	scalar property hasWidth [
+	scalar property hasWidth :> object_diagram:hasField [
 		domain Page
 		range xsd:decimal
 		functional
 	]
-	scalar property hasHeight [
+	scalar property hasHeight :> object_diagram:hasField [
 		domain Page
 		range xsd:decimal
 		functional
 	]
-	scalar property hasBackgroundType [
+	scalar property hasBackgroundType :> object_diagram:hasField [
 		domain Page
 		range xsd:string
 		functional
 	]
-	scalar property hasBackgroundColor [
+	scalar property hasBackgroundColor :> object_diagram:hasField [
 		domain Page
 		range xsd:string
 		functional
 	]
-	scalar property hasBackgroundStyle [
+	scalar property hasBackgroundStyle :> object_diagram:hasField [
 		domain Page
 		range xsd:string
 		functional
 	]
-	relation entity HasLayer [
+	relation entity HasLayer :> object_diagram:Link [
 		from Page
 		to Layer
 		forward hasLayer
@@ -106,32 +106,31 @@ vocabulary <http://flandersmake.be/cdf/vocabulary/xournalpp#> as xournalpp {
 		restricts scalar property hasCreator to exactly 1
 		restricts scalar property hasFileVersion to exactly 1
 		restricts scalar property hasTitle to exactly 1
-//		restricts scalar property hasPreview to exactly 1 // not mandatory
 	]
 	
-	scalar property hasCreator [
+	scalar property hasCreator :> object_diagram:hasField [
 		domain File
 		range xsd:string
 		functional
 	]
-	scalar property hasFileVersion [
+	scalar property hasFileVersion :> object_diagram:hasField [
 		domain File
 		range xsd:integer
 		functional
 	]
-	scalar property hasTitle [
+	scalar property hasTitle :> object_diagram:hasField [
 		domain File
 		range xsd:string
 		functional
 	]
-	scalar property hasPreview [
+	scalar property hasPreview :> object_diagram:hasField [
 		domain File
 //		range xsd:base64Binary // PNG-encoded // Doesn't seem to be working, workaround below
 		range xsd:string // Workaround
 		functional
 	]	
 	
-	relation entity HasPage [
+	relation entity HasPage :> object_diagram:Link [
 		from File
 		to Page
 		forward hasPage