Skip to main content

Math / Non-Math Schema

Schema to segment math and non-math ink content.

Includes

NameValue
Schema URIschema will:uim/1.1
Class Count5
Classeswill:uim/1.1/InkModel, will:uim/1.1/InkNode, will:uim/1.1/Root, will:uim/1.1/StrokeNode, will:uim/1.1/StrokeGroupNode

Classes

Root

NameValue
Classwill:seg-math/0.1/Root
Defined Inwill:seg-math/0.1
Specializeswill:uim/1.1/Root

Properties

PropertyAttributeValue
generatedByData Type(s)@uri
DescriptionURI identifying the creator of the logical tree.
Association Typecomposition
Cardinality[0, 1] (optional)
hasChildData Type(s)will:seg-math/0.1/ContentBlock
Association Typecomposition
Cardinality[0, 1] overridden to [0, inf] (optional)
hasParentData Type(s)
DescriptionRoots can't have parents.
Association Typecomposition
Cardinality[0, 0] overridden to [0, 1] (optional)
hasParentInkModelData Type(s)will:uim/1.1/InkModel
DescriptionReferencing the parent InkModel.
Association Typecomposition
Cardinality[0, 1] (optional)
representsViewData Type(s)@string
DescriptionThe name of the view this node is a root of.
Association Typecomposition
Cardinality[0, 1] (optional)

ContentBlock

Defines an abstract block of content.

NameValue
Classwill:seg-math/0.1/ContentBlock [abstract]
Defined Inwill:seg-math/0.1
Specializeswill:uim/1.1/InkNode
Specialized Bywill:seg-math/0.1/MathContent,will:seg-math/0.1/TextContent,will:seg-math/0.1/UnlabeledContent

Properties

PropertyAttributeValue
hasChildData Type(s)will:uim/1.1/InkNode
Association Typecomposition
Cardinality[0, inf] (optional) (ordered)
Inverse OfhasParent
hasParentData Type(s)will:uim/1.1/InkNode
Association Typeaggregation
Cardinality[1, 1] overridden to [0, 1] (mandatory)
Inverse OfhasChild

MathContent

Annotates strokes (StrokeNode) that are associated with math content.

NameValue
Classwill:seg-math/0.1/MathContent
Defined Inwill:seg-math/0.1
Specializeswill:seg-math/0.1/ContentBlock

Properties

PropertyAttributeValue
hasChildData Type(s)will:uim/1.1/StrokeNode
Association Typeaggregation
Cardinality[1, inf] overridden to [0, inf] (mandatory) (ordered)
hasParentData Type(s)will:uim/1.1/InkNode
Association Typeaggregation
Cardinality[1, 1] overridden to [0, 1] (mandatory)
Inverse OfhasChild

TextContent

Annotates strokes (StrokeNode) that are associated with text content.

NameValue
Classwill:seg-math/0.1/TextContent
Defined Inwill:seg-math/0.1
Specializeswill:seg-math/0.1/ContentBlock

Properties

PropertyAttributeValue
hasChildData Type(s)will:uim/1.1/StrokeNode
Association Typeaggregation
Cardinality[1, inf] overridden to [0, inf] (mandatory) (ordered)
hasParentData Type(s)will:uim/1.1/InkNode
Association Typeaggregation
Cardinality[1, 1] overridden to [0, 1] (mandatory)
Inverse OfhasChild

UnlabeledContent

Annotates strokes (StrokeNode) that are different from text and math, e.g., diagrams, doodles, annotations, etc.

NameValue
Classwill:seg-math/0.1/UnlabeledContent
Defined Inwill:seg-math/0.1
Specializeswill:seg-math/0.1/ContentBlock

Properties

PropertyAttributeValue
hasChildData Type(s)will:uim/1.1/StrokeNode
Association Typeaggregation
Cardinality[1, inf] overridden to [0, inf] (mandatory) (ordered)
hasParentData Type(s)will:uim/1.1/InkNode
Association Typeaggregation
Cardinality[1, 1] overridden to [0, 1] (mandatory)
Inverse OfhasChild

Schema Definition

{
"head": {
"uri": "will:seg-math/0.1",
"version": "0.1",
"description": "Schema to segment math and non-math ink content.",
"classUriTemplate": "will:seg-math/0.3/[class]",
"propertyUriTemplate": "will:seg-math/0.3/[class]#[property]",
"includes": [
{
"namespace": "u",
"schema": "will:uim/1.1"
}
]
},
"body": {
"extensions": {},
"classes": {
"will:seg-math/0.1/Root": {
"subclassOf": "will:uim/1.1/Root",
"properties": {
"hasChild": {
"dataType": "will:seg-math/0.1/ContentBlock",
"minCardinality": 0,
"maxCardinality": 1,
"isFinal": false
}
},
"isAbstract": false,
"isFinal": false
},
"will:seg-math/0.1/ContentBlock": {
"subclassOf": "will:uim/1.1/InkNode",
"properties": {
"hasParent": {
"dataType": "will:uim/1.1/InkNode",
"minCardinality": 1,
"maxCardinality": 1,
"isFinal": false,
"inverseOf": "hasChild"
}
},
"isAbstract": true,
"isFinal": false,
"@desc": "Defines an abstract block of content."
},
"will:seg-math/0.1/MathContent": {
"subclassOf": "will:seg-math/0.1/ContentBlock",
"properties": {
"hasChild": {
"dataType": "will:uim/1.1/StrokeNode",
"minCardinality": 1,
"maxCardinality": -1,
"isFinal": false,
"isOrdered": true
}
},
"isAbstract": false,
"isFinal": false,
"@desc": "Annotates a strokes (`StrokeNode`) that are associated to math content."
},
"will:seg-math/0.1/TextContent": {
"subclassOf": "will:seg-math/0.1/ContentBlock",
"properties": {
"hasChild": {
"dataType": "will:uim/1.1/StrokeNode",
"minCardinality": 1,
"maxCardinality": -1,
"isFinal": false,
"isOrdered": true
}
},
"isAbstract": false,
"isFinal": false,
"@desc": "Annotates a strokes (`StrokeNode`) that are associated to text content."
},
"will:seg-math/0.1/UnlabeledContent": {
"subclassOf": "will:seg-math/0.1/ContentBlock",
"properties": {
"hasChild": {
"dataType": "will:uim/1.1/StrokeNode",
"minCardinality": 1,
"maxCardinality": -1,
"isFinal": false,
"isOrdered": true
}
},
"isAbstract": false,
"isFinal": false,
"@desc": "Annotates a strokes (`StrokeNode`) that are different from text and math, e.g., diagrams, doodles, annotations, etc.."
}
}
}
}