| Line 6 was replaced by line 6 |
| - Datasets, actors (also known as services), and actor input and output ports are examples of resources that can have ''__semantic types__'', that is, types that classify and constraint the semantic, as opposed to structural interpretation of resources. A semantic type may also describe how the semantic interpretation is "encoded" within a resource. For example, given a dataset that contains {{measurements of biomass for species sampled at certain locations}}, the "encoding" may state that a particular column denotes the {{biomass}} and that another column denotes the {{location}} of {{measurements}}. |
| + Datasets, actors (also known as services), and actor input and output ports are examples of resources that can have __semantic types__, that is, types that classify and constraint the semantic, as opposed to structural interpretation of resources. A semantic type may also describe how the semantic interpretation is "encoded" within a resource. For example, given a dataset that contains {{measurements of biomass for species sampled at certain locations}}, the "encoding" may state that a particular column denotes the {{biomass}} and that another column denotes the {{location}} of {{measurements}}. |
| Line 8 was replaced by line 8 |
| - We define a ''__semantic type__'' as a set of one or more ''__semantic annotations__''. Generally speaking, a semantic annotation assigns some object (or set of objects) within a resource a meaning, where the "meaning" is specified via ontology expressions (that use terms from ontologies). A semantic annotation serves to "link" or "glue" a portion of a resource to a portion of an ontology. |
| + We define a __semantic type__ as a set of one or more __semantic annotations__. Generally speaking, a semantic annotation assigns some object (or set of objects) within a resource a meaning, where the "meaning" is specified via ontology expressions (that use terms from ontologies). A semantic annotation serves to "link" or "glue" a portion of a resource to a portion of an ontology. |
| Line 26 was replaced by line 26 |
| - Note that every annotation should have a unique identifier, preferably an LSID. We describe each of the annotation subelements in turn below. |
| + Every semantic type should have a unique identifier, preferably expressed and managed as an LSID. |
| Line 28 was replaced by line 28 |
| - ! Resources |
| + ! Labels |
| Removed line 47 |
| - ! Semantic Types |
| Line 49 was replaced by line 48 |
| - The {{SemanticTypes}} element contains one or more class references or new class definitions: |
| + ! Annotations |
| Removed lines 51-69 |
| - {{{ |
| - <owl:Class rdf:about="..."/> |
| - }}} |
| - |
| - {{{ |
| - <owl:Class rdf:ID="..."> |
| - |
| - ... |
| - |
| - </owl:Class> |
| - }}} |
| - |
| - Every class definition defines a ''semantic type'' for the associated annotation resource(s). That is, the resources are said to "contribute" the semantic types. We impose the following constraints on semantic types. First, a referenced class (as in the first expression above) must come from an existing (and accessible) ontology. Second, every new class must have a class definition (i.e., be defined in terms of other roles and classes). And third, all classes and properties referenced in a new class definition must either come from an existing (and accessible) ontology or must be defined as a semantic type in the current annotation. |
| - Each annotation is required to contain a {{SemanticTypes}} tag that contains at least one semantic type. |
| - |
| - |
| - |
| - ! Encodings |
| - |