@prefix rdfs: . @prefix rdf: . @prefix owl: . @prefix xsd: . @prefix hydra: . @prefix void: . @prefix vann: . @prefix dct: . @prefix foaf: . @prefix sd: . @prefix doap: . @prefix oo: . @prefix om: . # ---------------------------------------- Metadata ---------------------------------------------- a owl:Ontology; vann:preferredNamespacePrefix "oo"; vann:preferredNamespaceUri "https://w3id.org/lsd/vocabularies/object-oriented#"; rdfs:label "Object-Oriented Components."@en; rdfs:comment "RDF vocabulary for describing Object-Oriented Components."@en; dct:title "Object-Oriented Components"@en; dct:issued "2017-04-08"^^xsd:date; dct:modified "2017-11-17"^^xsd:date; dct:creator . foaf:name "Ruben Taelman". # ------------------------------------------ Classes -------------------------------------------- oo:Module a rdfs:Class; rdfs:label "Module"@en; owl:sameAs doap:Version; rdfs:comment "A module can have several components"@en; rdfs:isDefinedBy . oo:Component a rdfs:Class; rdfs:label "Component"@en; rdfs:comment "A component is an instance or a class that can be instantiated based on parameters."@en; rdfs:subClassOf rdfs:Class; rdfs:isDefinedBy . oo:Class a rdfs:Class; rdfs:label "Class"@en; rdfs:comment "A class that can be instantiated based on parameters. All subtypes of classes are Instances."@en; rdfs:subClassOf oo:Component; rdfs:isDefinedBy . oo:AbstractClass a rdfs:Class; rdfs:label "Abstract Class"@en; rdfs:comment "An abstract class that can have subclasses that can be instantiated based on parameters."@en; rdfs:subClassOf oo:Class; rdfs:isDefinedBy . oo:Instance a rdfs:Class; rdfs:label "Instance"@en; rdfs:comment "An instance is an instantiation of a class."@en; rdfs:subClassOf oo:Component; rdfs:isDefinedBy . oo:Parameter a rdfs:Class; rdfs:label "Parameter"@en; rdfs:comment "Parameters are used to instantiate components."@en; rdfs:subClassOf rdfs:Property, om:ObjectMapping; rdfs:isDefinedBy . oo:DefaultScoped a rdfs:Class; rdfs:label "Scoped defult value"@en; rdfs:comment "A default value that only applies in a certain scope."@en; rdfs:isDefinedBy . # ---------------------------------------- Properties -------------------------------------------- oo:component a rdf:Property; rdfs:label "has component"@en; rdfs:comment "Indicates that the subject module contains the object component that can be instantiated."@en; rdfs:isDefinedBy ; rdfs:domain oo:Module; rdfs:range oo:Component. oo:parameter a rdf:Property; rdfs:label "has parameter"@en; rdfs:comment "The subject component has the object parameter that can be used in its configuration."@en; rdfs:isDefinedBy ; rdfs:subPropertyOf rdf:predicate; rdfs:domain oo:Class; rdfs:range oo:Parameter. oo:arguments a rdf:Property; rdfs:label "has arguments"@en; rdfs:comment "The given function arguments must be mapped according to the given array mapping."@en; rdfs:isDefinedBy ; rdfs:domain oo:Class; rdfs:range om:ArrayMapping. oo:constructorArguments a rdf:Property; rdfs:subPropertyOf oo:arguments; rdfs:label "has constructor arguments"@en; rdfs:comment "The parameter values of the given component's constructor must be mapped according to the given object mapper."@en; rdfs:isDefinedBy . oo:required a rdf:Property; rdfs:label "required"@en; rdfs:comment "Indicates that this parameter must have a value, default is false."@en; rdfs:isDefinedBy ; rdfs:domain oo:Parameter; rdfs:range xsd:boolean. oo:defaultValue a rdf:Property; rdfs:label "default value"@en; rdfs:comment "The default value of the parameter."@en; rdfs:isDefinedBy ; rdfs:domain oo:Parameter. oo:defaultScoped a rdf:Property; rdfs:label "default scoped"@en; rdfs:comment "A default scope of the parameter, which provides a default value in the given scope."@en; rdfs:isDefinedBy ; rdfs:domain oo:Parameter; rdfs:range oo:DefaultScoped. oo:defaultScope a rdf:Property; rdfs:label "default scope"@en; rdfs:comment "The component scope of a default scope."@en; rdfs:isDefinedBy ; rdfs:domain oo:DefaultScoped; rdfs:range oo:Component. oo:defaultScopedValue a rdf:Property; rdfs:label "default scoped value"@en; rdfs:comment "The default value of a parameter in this scope."@en; rdfs:isDefinedBy ; rdfs:domain oo:DefaultScoped. oo:uniqueValue a rdf:Property; rdfs:label "default value"@en; rdfs:comment "Indicate that the parameter can have at most one value."@en; rdfs:isDefinedBy ; rdfs:domain oo:Parameter; rdfs:range xsd:boolean. oo:lazyValue a rdf:Property; rdfs:label "lazy value"@en; rdfs:comment "Indicate that the parameter values must be produced lazily."@en; rdfs:isDefinedBy ; rdfs:domain oo:Parameter; rdfs:range xsd:boolean. oo:componentPath a rdf:Property; rdfs:label "class path"@en; rdfs:comment "The path to a component within a module."@en; rdfs:comment "Example value: 'my.package.name.Class'"@en; rdfs:isDefinedBy ; rdfs:domain oo:Component; rdfs:range xsd:string.