# (c) Epimorphics Ltd, 2013 @prefix rdf: . @prefix rdfs: . @prefix owl: . @prefix xsd: . @prefix dct: . @prefix skos: . @prefix ui: . @prefix reg: . a owl:Ontology; rdfs:label "Registry UI ontology"@en; rdfs:comment "Support for defining UI templates and form templates in RDF."@en; dct:contributor ; dct:created "2013-03-24"^^xsd:date; owl:versionInfo "0.1"; . # Form template ui:FormTemplate a owl:Class; rdfs:label "Form Template"@en; rdfs:comment "Defines a kind of resource that can be instantiated via a form"@en; rdfs:subClassOf [owl:onProperty rdfs:label; owl:minCardinality 1]; rdfs:subClassOf [owl:onProperty ui:tooltip; owl:minCardinality 0]; rdfs:subClassOf [owl:onProperty ui:formFields; owl:cardinality 1]; rdfs:subClassOf [owl:onProperty ui:prototype; owl:minCardinality 0]; . ui:formFields a owl:ObjectProperty; rdfs:label "form fields"@en; rdfs:comment "Indicates a list form fields which make up a template"@en; rdfs:domain ui:FormTemplate; rdfs:range rdf:List; . ui:prototype a owl:ObjectProperty; rdfs:label "prototype"@en; rdfs:comment "Indicates a resource whose property values should be copied to each instantiated resource generated by the form."@en; . ui:tooltip a owl:DatatypeProperty; rdfs:label "tooltip"@en; rdfs:comment "Gives a tooltip which can be used to describe the a template or field"; . ui:FormField a owl:Class; rdfs:label "Form Field"@en; rdfs:comment "Defines a form field"@en; rdfs:subClassOf [owl:onProperty rdfs:label; owl:minCardinality 1]; rdfs:subClassOf [owl:onProperty ui:tooltip; owl:minCardinality 0]; rdfs:subClassOf [owl:onProperty ui:property; owl:cardinality 1]; rdfs:subClassOf [owl:onProperty ui:fieldType; owl:cardinality 1]; rdfs:subClassOf [owl:onProperty ui:required; owl:minCardinality 0]; rdfs:subClassOf [owl:onProperty ui:multivalued; owl:minCardinality 0]; # others in the future - required? singleton? . ui:property a owl:ObjectProperty; rdfs:label "property"@en; rdfs:comment "Indicates the property whose value will be given by this field"@en; rdfs:range rdf:Property; . ui:multivalued a owl:DatatypeProperty; rdfs:label "required"@en; rdfs:comment "If true indicates that multiple values are allowed."@en; rdfs:range xsd:boolean; . ui:required a owl:DatatypeProperty; rdfs:label "required"@en; rdfs:comment "If true indicates that the property values is required for a valid form"@en; rdfs:range xsd:boolean; . ui:fieldType a owl:ObjectProperty; rdfs:label "field type"@en; rdfs:comment "Indicates the type of form field to be used, which in term defines the datatype of the generated value"@en; rdfs:range ui:FieldType; . ui:FieldType a owl:Class; rdfs:label "Field Type"@en; rdfs:comment "Class of field type specifications"@en; . ui:labelField a ui:FieldType; rdfs:label "label field"; rdfs:comment "Short text field" . ui:textField a ui:FieldType; rdfs:label "text field"; rdfs:comment "Long text field" . ui:anyURIField a ui:FieldType; rdfs:label "any uri field"; rdfs:comment "Manually entered URI for a resource" . # Template entries ui:Template a owl:Class; rdfs:label "Template"@en; rdfs:comment "Declaration of a type-specific rendering template"@en; . ui:template a owl:DatatypeProperty; rdfs:label "template"@en; rdfs:comment "The relative file name of the template, normally ends with '.vm'"@en; rdfs:domain ui:Template; . ui:type a owl:ObjectProperty; rdfs:label "type"@en; rdfs:comment "The resource type to which this template applies"@en; rdfs:domain ui:Template; rdfs:range owl:Class; . ui:templatePriority a owl:DatatypeProperty; rdfs:label "template priority"@en; rdfs:comment "The priority to give this template if multiple types match, high numbers indicate high priority"@en; rdfs:domain ui:Template; rdfs:range xsd:int; . # Hierachical view Support ui:hierarchyChildProperty a rdfs:Property; rdfs:label "hierarchy child property"@en; rdfs:comment "Specifies a path from a parent node in a hierarchical register to a child node. If the value of this property is a resource then it assumed to be a simple direct property (e.g. `skos:narrower` or `org:hasSubOrganization`). If it is a literal then it is assumed to be a syntactically legal SPARQL path expression that can be used to navigate from the parent to the child."@en; rdfs:domain reg:Register ; . ui:hierarchyRootProperty a rdfs:Property ; rdfs:label "hierarchy root property"@en; rdfs:comment "For a register that can be viewed as a hierarchy, the value of this property gives a property possessed by any root entries. The value that such a property has is not relevant, though a common pattern is to use `skos:topConceptOf` in which case the value will be the register itself."@en; rdfs:domain reg:Register ; . ui:hierarchyRootType a rdfs:Property ; rdfs:label "hierarchy root type"@en; rdfs:comment "For a register that can be viewed as a hierarchy, the value of this property indicates the rdf:type of those entries which should be considered roots of the hierarchy."@en; rdfs:domain reg:Register ; .