PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX specificationmetadata: <http://www.omg.org/techprocess/ab/SpecificationMetadata/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

specificationmetadata:BibliographicCitation a rdfs:Class ;
  rdfs:label "bibliographic citation" ;
  rdfs:comment """a reference to an authoritative source for provenance or substatiation purposes; 

The form of bibliographic citation may be specific to a domain, publication, or community, thus specific properties to define the details are not provided. FRBR, ISO 690, and others provide reasonable approaches if none is explicitly required for a specification.""" ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

specificationmetadata:SpecificationFamily a rdfs:Class ;
  rdfs:label "specification family" ;
  rdfs:comment "a family of specifications, such as the OMG's Financial Industry Business Ontology (FIBO) or the Information Exchange Framework (IEF)" ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

specificationmetadata:familyAbbreviation a rdf:Property ;
  rdfs:label "specification family abbreviation or acronym" ;
  rdfs:comment "abbreviation or acronym for the specification family" ;
  rdfs:domain specificationmetadata:SpecificationFamily ;
  rdfs:range xsd:string .

specificationmetadata:familyTitle a rdf:Property ;
  rdfs:label "specification family title" ;
  rdfs:comment "specification family title (for example, Financial Industry Business Ontology)" ;
  rdfs:domain specificationmetadata:SpecificationFamily ;
  rdfs:range xsd:string .

specificationmetadata:familyURL a rdf:Property ;
  rdfs:label "specification family URL" ;
  rdfs:comment "URL where the specification family is published" ;
  rdfs:domain specificationmetadata:SpecificationFamily ;
  rdfs:range xsd:anyURI .

specificationmetadata:familyAbstract a rdf:Property ;
  rdfs:label "family abstract" ;
  rdfs:comment "a short textual description of the family of specifications" ;
  rdfs:domain specificationmetadata:SpecificationFamily ;
  rdfs:range xsd:string .

<http://purl.org/dc/terms/LicenseDocument> a rdfs:Class .

specificationmetadata:MediaType a rdfs:Class ;
  rdfs:label "MIME MediaType" ;
  rdfs:comment "MIME media type as defined by the IANA standard" ;
  rdfs:seeAlso <http://www.iana.org/assignments/media-types/media-types.xhtml> ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

specificationmetadata:SpecificationVersion a rdfs:Class ;
  rdfs:label "specification version" ;
  rdfs:comment "a formal revision of a given specification, produced through the efforts of a finalization or revision task force" ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

specificationmetadata:priorSpecificationVersion a rdf:Property ;
  rdfs:label "prior specification version" ;
  rdfs:comment "a link to the immediately preceding OMG formal specification version" ;
  rdfs:domain specificationmetadata:SpecificationVersion ;
  rdfs:range xsd:anyURI .

specificationmetadata:specificationVersionURL a rdf:Property ;
  rdfs:label "specification version URL" ;
  rdfs:comment "explicit URI where the specification version is published" ;
  rdfs:domain specificationmetadata:SpecificationVersion ;
  rdfs:range xsd:anyURI .

specificationmetadata:isVersionOf a rdf:Property ;
  rdfs:label "is version of" ;
  rdfs:comment "relates a given version of a specification to the 'master' or original specification that it modifies" ;
  rdfs:domain specificationmetadata:SpecificationVersion ;
  rdfs:range specificationmetadata:Specification .

specificationmetadata:addressForComments a rdf:Property ;
  rdfs:label "addressForComments" ;
  rdfs:comment "a link to a mailing list or web page where questions, discussion, and issues can be raised" ;
  rdfs:domain specificationmetadata:SpecificationVersion ;
  rdfs:range xsd:anyURI .

specificationmetadata:taskForceReport a rdf:Property ;
  rdfs:label "task force report" ;
  rdfs:comment "a link to the FTF or RTF report, if applicable" ;
  rdfs:domain specificationmetadata:SpecificationVersion ;
  rdfs:range xsd:anyURI .

specificationmetadata:publicationDate a rdf:Property ;
  rdfs:label "publication date" ;
  rdfs:comment "the date this version of the specification was published" ;
  rdfs:domain specificationmetadata:SpecificationVersion ;
  rdfs:range xsd:dateTime .

specificationmetadata:specificationVersionStatus a rdf:Property ;
  rdfs:label "specification version status" ;
  rdfs:comment "status of this version of the specification from a process perspective, including whether or not it has been formally adopted or superseded by a newer version" ;
  rdfs:domain specificationmetadata:SpecificationVersion ;
  rdfs:range xsd:string .

specificationmetadata:thisVersion a rdf:Property ;
  rdfs:label "this version" ;
  rdfs:comment "the version identifier for this version of the specification" ;
  rdfs:domain specificationmetadata:SpecificationVersion ;
  rdfs:range xsd:string .

specificationmetadata:reflects a rdf:Property ;
  rdfs:label "reflects" ;
  rdfs:domain specificationmetadata:SpecificationVersion ;
  rdfs:range specificationmetadata:IssueResolution .

<http://www.w3.org/2004/02/skos/core#Concept> a rdfs:Class .

specificationmetadata:Organization a rdfs:Class ;
  rdfs:label "organization" ;
  rdfs:comment "an entity, such as an institution or an association, that has a collective goal and is linked to an external environment" ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

specificationmetadata:IssueResolution a rdfs:Class ;
  rdfs:label "issue resolution" ;
  rdfs:comment """An Issue is a report made to OMG of an error in an OMG Specification. An F/RTF Report lists the issues and comments received by the F/RTF against a specification, and the resolution, if any, for each comment (referred to by its Issue Number).  

For resolutions that involve changes to the models (machine readable artifacts) corresponding to the specification, an individual of type IssueResolution should be included in the administrative metadata for the version of the specification to which it applies, for each issue resolved, linking to the appropriate issue page in the OMG JIRA system where further information about the issue and how it was dealt with can be found.
""" ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

specificationmetadata:affectsModelElement a rdf:Property ;
  rdfs:label "affects model element" ;
  rdfs:domain specificationmetadata:IssueResolution ;
  rdfs:range xsd:string .

specificationmetadata:hasDescription a rdf:Property ;
  rdfs:label "has description" ;
  rdfs:domain specificationmetadata:IssueResolution ;
  rdfs:range xsd:string .

specificationmetadata:isIdentifiedBy a rdf:Property ;
  rdfs:label "is identified by" ;
  rdfs:domain specificationmetadata:IssueResolution ;
  rdfs:range xsd:string .

specificationmetadata:isReflectedIn a rdf:Property ;
  rdfs:label "is reflected in" ;
  rdfs:domain specificationmetadata:IssueResolution ;
  rdfs:range specificationmetadata:SpecificationVersion .

specificationmetadata:hasIssueReference a rdf:Property ;
  rdfs:label "has issue reference" ;
  rdfs:domain specificationmetadata:IssueResolution ;
  rdfs:range xsd:anyURI .

specificationmetadata:TypeOfContent a rdfs:Class ;
  rdfs:label "content type" ;
  rdfs:comment """the content type for the model or module, for example, MOF metamodel, UML profile, UML model, vocabulary, ontology, ruleset, etc.  

The actual content language for the module (for example, RDF Schema, OWL, or SBVR in the case of a vocabulary) should be specified using the contentLanguage annotation property.  Valid values are specified as individuals.""" ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

specificationmetadata:Module a rdfs:Class ;
  rdfs:label "module" ;
  rdfs:comment """Modularization of any engineering model involves principles of the model driven architecture methodology (MDA), including but not limited to separation of concerns, coherence, and establishing clear logical boundaries in order to increase reusability and maintainability.  

A module should be designed to reflect these principles, including a small number of models that have well-defined relationships with one another, that form a coherent and cohesive whole for some purpose, and that have clear boundaries or interfaces to other external modules.""" ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

specificationmetadata:moduleShortTitle a rdf:Property ;
  rdfs:label "module short title" ;
  rdfs:comment "a short title for the component or module" ;
  rdfs:domain specificationmetadata:Module ;
  rdfs:range xsd:string .

specificationmetadata:moduleAbstract a rdf:Property ;
  rdfs:label "module abstract" ;
  rdfs:comment "a short textual description of the module" ;
  rdfs:domain specificationmetadata:Module ;
  rdfs:range xsd:string .

specificationmetadata:moduleName a rdf:Property ;
  rdfs:label "module name" ;
  rdfs:comment "module name, if distinct from the specification title" ;
  rdfs:domain specificationmetadata:Module ;
  rdfs:range xsd:string .

specificationmetadata:moduleAbbreviation a rdf:Property ;
  rdfs:label "module abbreviation or acronym" ;
  rdfs:comment "abbreviation or acronym for the module, if distinct from that of the specification" ;
  rdfs:domain specificationmetadata:Module ;
  rdfs:range xsd:string .

specificationmetadata:moduleVersion a rdf:Property ;
  rdfs:label "module version" ;
  rdfs:comment "module version, if distinct from the specification version" ;
  rdfs:domain specificationmetadata:Module ;
  rdfs:range xsd:string .

specificationmetadata:Specification a rdfs:Class ;
  rdfs:label "specification" ;
  rdfs:comment "an explicit set of requirements to be satisfied by a material, product, or service" ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#Concept> .

specificationmetadata:formalVersion a rdf:Property ;
  rdfs:label "formal version" ;
  rdfs:comment "a link to the latest published formal specification (document)" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:anyURI .

specificationmetadata:specificationAbbreviation a rdf:Property ;
  rdfs:label "specification abbreviation or acronym" ;
  rdfs:comment "official abbreviation or acronym for the specification and related electronic files" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:string .

specificationmetadata:shortTitle a rdf:Property ;
  rdfs:label "short name for the specification or module" ;
  rdfs:comment "a short, commonly used, or preferred name, for a given specification or module" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:string .

specificationmetadata:specificationURL a rdf:Property ;
  rdfs:label "specification URL" ;
  rdfs:comment "URL for the specification directory on the OMG web site" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:anyURI .

specificationmetadata:keyword a rdf:Property ;
  rdfs:label "keyword" ;
  rdfs:comment "keyword relevant to the specification" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:string .

specificationmetadata:submitter a rdf:Property ;
  rdfs:label "submitter" ;
  rdfs:comment "a contributor that is an OMG member, identified member of the submission team, and filed the requisite LOI, responsible for the content of the specification or model" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf specificationmetadata:contributor .

specificationmetadata:informativeReference a rdf:Property ;
  rdfs:label "informative reference" ;
  rdfs:comment "informative reference, standard, or document" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range specificationmetadata:Specification .

specificationmetadata:hasSpecificationVersion a rdf:Property ;
  rdfs:label "has specification version" ;
  rdfs:comment "relates a 'master' or umbrella specification to specific versions of that specification, created through a finalization or revision process" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range specificationmetadata:SpecificationVersion .

specificationmetadata:responsibleTaskForce a rdf:Property ;
  rdfs:label "responsible task force" ;
  rdfs:comment "task force or working group responsible for the original RFP/RFC and specification adoption" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:anyURI .

specificationmetadata:specificationTitle a rdf:Property ;
  rdfs:label "specification name or title" ;
  rdfs:comment "the full (complete) formal title of the specification, without abbreviations" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:string .

specificationmetadata:specificationAbstract a rdf:Property ;
  rdfs:label "specification abstract" ;
  rdfs:comment "a short textual description for the specification" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:string .

specificationmetadata:topicArea a rdf:Property ;
  rdfs:label "topic area" ;
  rdfs:comment "topic or area of interest that this particular specification relates to, for example, real time, robotics" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:string .

specificationmetadata:normativeReference a rdf:Property ;
  rdfs:label "normative reference" ;
  rdfs:comment "a normative reference or standard for the specification" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range specificationmetadata:Specification .

specificationmetadata:technologyArea a rdf:Property ;
  rdfs:label "technology area" ;
  rdfs:comment "technology area relevant to the specification, for example, analysis and design, business process modeling, information exchange and interoperability, middleware, etc." ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range xsd:string .

specificationmetadata:relatedSpecification a rdf:Property ;
  rdfs:label "related specification" ;
  rdfs:comment "specification or standard (range can be xsd:string, xsd:anyURI, or BibliographicCitation)" ;
  rdfs:domain specificationmetadata:Specification ;
  rdfs:range specificationmetadata:Specification .

specificationmetadata:author a rdf:Property ;
  rdfs:label "author" ;
  rdfs:comment "Author identifies an individual or organization that originated the model or specification (range can be a dct:Agent or string)." ;
  rdfs:range xsd:string .

specificationmetadata:contentLanguage a rdf:Property ;
  rdfs:label "content language" ;
  rdfs:comment "a link to the core language and/or specification of the model/electronic file, for example, UML, OWL, SysML, BPMN, including linking to the version of the language in question" ;
  rdfs:range xsd:anyURI .

specificationmetadata:contentType a rdf:Property ;
  rdfs:label "content type" ;
  rdfs:comment "indicates the content type, for example, MOF metamodel, UML profile, UML model, SBVR or RDF vocabulary, OWL or CL ontology" ;
  rdfs:range specificationmetadata:TypeOfContent .

specificationmetadata:contributor a rdf:Property ;
  rdfs:label "contributor" ;
  rdfs:comment "an organization or individual that has made a significant contribution to the specification" ;
  rdfs:range xsd:string .

specificationmetadata:copyright a rdf:Property ;
  rdfs:label "copyright" ;
  rdfs:comment "copyright statement for the specification version, content, or model/electronic file" ;
  rdfs:range xsd:string .

specificationmetadata:dependsOn a rdf:Property ;
  rdfs:label "depends on" ;
  rdfs:comment "a bibliographic reference for and/or URL of any electronic files or documents (e.g., document version URL if applicable) on which this specification or model depends; if the model contains multiple modules, then dependencies should reflect those of the model in question" ;
  rdfs:range xsd:string .

specificationmetadata:directSource a rdf:Property ;
  rdfs:label "direct source" ;
  rdfs:comment "reference used as a primary, direct source for content in developing this specification or model (range can be a string, URI, or BibliographicCitation)" ;
  rdfs:range xsd:string .

specificationmetadata:documentNumber a rdf:Property ;
  rdfs:label "document number" ;
  rdfs:comment "OMG document number (for the document or file this metadata is associated with); note that a single OMG document number may be associated with many files, for example in the case of an archive containing all of the ontologies associated with a given FIBO specification" ;
  rdfs:range xsd:string .

specificationmetadata:documentURL a rdf:Property ;
  rdfs:label "URL for the document" ;
  rdfs:comment "document URL (for the specific document or model file this metadata is associated with)" ;
  rdfs:range xsd:anyURI .

specificationmetadata:editor a rdf:Property ;
  rdfs:label "editor" ;
  rdfs:comment "an editor of the specification, which may include the primary contact organization, or RTF/FTF co-chair (organization), depending on where the specification is in the process" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf specificationmetadata:contributor .

specificationmetadata:fileAbbreviation a rdf:Property ;
  rdfs:label "file-level abbreviation or acronym" ;
  rdfs:comment "abbreviation or acronym for the file, such as a namespace prefix, if distinct from that of the specification" ;
  rdfs:range xsd:string .

specificationmetadata:fileAbstract a rdf:Property ;
  rdfs:label "file-level abstract" ;
  rdfs:comment "a short textual description of the model or file" ;
  rdfs:range xsd:string .

specificationmetadata:fileVersion a rdf:Property ;
  rdfs:label "file version" ;
  rdfs:comment "file version, if distinct from the specification or module version" ;
  rdfs:range xsd:string .

specificationmetadata:filename a rdf:Property ;
  rdfs:label "electronic file name" ;
  rdfs:comment "name of the electronic document or file this metadata is associated with" ;
  rdfs:range xsd:string .

specificationmetadata:format a rdf:Property ;
  rdfs:label "format" ;
  rdfs:comment """serialization format for the file in terms of its MIME Type, such as xmi, rdf/xml, owl/xml, etc.
""" ;
  rdfs:range specificationmetadata:MediaType .

specificationmetadata:isNormative a rdf:Property ;
  rdfs:label "is normative" ;
  rdfs:comment "boolean value indicating whether or not the file is a normative component of a specification" ;
  rdfs:range xsd:boolean .

specificationmetadata:priorVersion a rdf:Property ;
  rdfs:label "prior version" ;
  rdfs:comment "a link to the immediately preceding version at the file level" ;
  rdfs:range xsd:string .

specificationmetadata:revisedBy a rdf:Property ;
  rdfs:label "revised by" ;
  rdfs:comment "task force or working group responsible for this revision of the specification" ;
  rdfs:range xsd:string .
