PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX modelcard: <https://w3id.org/linkml/modelcard/>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

linkml:modelcard a owl:Ontology ;
  rdfs:comment """A comprehensive LinkML rendering of model card schemas,
incorporating Google Model Card Toolkit v0.0.2, HuggingFace,
and Papers with Code specifications.

This schema provides structured metadata for documenting machine learning models
including model details, training data, performance metrics, ethical considerations,
and deployment specifications.""" ;
  vann:preferredNamespacePrefix "modelcard" ;
  vann:preferredNamespaceUri "https://w3id.org/linkml/modelcard/"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "modelcard" ;
    sh:namespace "https://w3id.org/linkml/modelcard/"^^xsd:anyURI
  ] , [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] .

modelcard:Version a owl:Class ;
  rdfs:comment "Version information for a model" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:date ;
    owl:allValuesFrom xsd:date
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:date ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:diff ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:diff ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:last_updated ;
    owl:allValuesFrom xsd:dateTime
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:last_updated ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:superseded_by ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:superseded_by ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:License a owl:Class ;
  rdfs:comment "License information (use SPDX identifier OR custom text, not both)" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:identifier ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:identifier ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:custom_text ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:custom_text ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:license_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:license_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:license_link ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:Owner a owl:Class ;
  rdfs:comment "Model owner or maintainer information" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:contact ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:contact ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:Reference a owl:Class ;
  rdfs:comment "A reference to a related resource (URL or citation string)" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:reference ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:reference ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:Citation a owl:Class ;
  rdfs:comment "A single citation entry (style + formatted citation text)" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:style ;
    owl:allValuesFrom modelcard:CitationStyleEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:style ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:citation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:citation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:ModelDetails a owl:Class ;
  rdfs:comment "Comprehensive metadata about the model" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:short_description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:short_description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:overview ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:overview ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:documentation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:documentation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:owners ;
    owl:allValuesFrom modelcard:Owner
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:contributors ;
    owl:allValuesFrom modelcard:Contributor
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:version ;
    owl:allValuesFrom modelcard:Version
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:licenses ;
    owl:allValuesFrom modelcard:License
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:references ;
    owl:allValuesFrom modelcard:Reference
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:citations ;
    owl:allValuesFrom modelcard:Citation
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:path ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:path ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:SensitiveData a owl:Class ;
  rdfs:comment "Information about sensitive data in a dataset" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:sensitive_data ;
    owl:allValuesFrom xsd:string
  ] .

modelcard:GraphicsCollection a owl:Class ;
  rdfs:comment "Collection of graphics and visualizations" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:collection ;
    owl:allValuesFrom modelcard:Graphic
  ] .

modelcard:Graphic a owl:Class ;
  rdfs:comment "A single graphic or visualization" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:image ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:image ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:DataSet a owl:Class ;
  rdfs:comment "Information about a dataset used for training or evaluation" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:link ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:sensitive ;
    owl:allValuesFrom modelcard:SensitiveData
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:sensitive ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:graphics ;
    owl:allValuesFrom modelcard:GraphicsCollection
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:graphics ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:bias_input ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:bias_input ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:unit ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:unit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:KeyVal a owl:Class ;
  rdfs:comment "Key-value pair for format mappings" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:key ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:key ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:value ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:value ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:ModelParameters a owl:Class ;
  rdfs:comment "Parameters and specifications for model construction" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:model_architecture ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:model_architecture ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:data ;
    owl:allValuesFrom modelcard:DataSet
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:input_format ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:input_format ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:input_format_map ;
    owl:allValuesFrom modelcard:KeyVal
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:output_format ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:output_format ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:output_format_map ;
    owl:allValuesFrom modelcard:KeyVal
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:compute_infrastructure ;
    owl:allValuesFrom modelcard:ComputeInfrastructure
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:compute_infrastructure ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_procedure ;
    owl:allValuesFrom modelcard:TrainingProcedure
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_procedure ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:ConfidenceInterval a owl:Class ;
  rdfs:comment "Confidence interval for a metric value" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:lower_bound ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:lower_bound ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:upper_bound ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:upper_bound ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:PerformanceMetric a owl:Class ;
  rdfs:comment "A performance metric with optional confidence interval" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:type ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:value ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:value ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:value_error ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:value_error ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:confidence_interval ;
    owl:allValuesFrom modelcard:ConfidenceInterval
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:confidence_interval ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:threshold ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:threshold ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:slice ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:slice ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:unit ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:unit ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:QuantitativeAnalysis a owl:Class ;
  rdfs:comment "Quantitative analysis and performance evaluation of the model" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:performance_metrics ;
    owl:allValuesFrom modelcard:PerformanceMetric
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:graphics ;
    owl:allValuesFrom modelcard:GraphicsCollection
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:graphics ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:evaluation_procedure ;
    owl:allValuesFrom modelcard:EvaluationProcedure
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:evaluation_procedure ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:User a owl:Class ;
  rdfs:comment "Description of an intended user type" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:UseCase a owl:Class ;
  rdfs:comment "Description of a use case or application scenario" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:Limitation a owl:Class ;
  rdfs:comment "A known limitation or constraint of the model" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:Tradeoff a owl:Class ;
  rdfs:comment "A performance tradeoff consideration" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:Risk a owl:Class ;
  rdfs:comment "An ethical, environmental, or operational risk" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:mitigation_strategy ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:mitigation_strategy ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:Considerations a owl:Class ;
  rdfs:comment "Considerations for model usage including limitations and ethical concerns" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:users ;
    owl:allValuesFrom modelcard:User
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:use_cases ;
    owl:allValuesFrom modelcard:UseCase
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:limitations ;
    owl:allValuesFrom modelcard:Limitation
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:tradeoffs ;
    owl:allValuesFrom modelcard:Tradeoff
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:ethical_considerations ;
    owl:allValuesFrom modelcard:Risk
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:out_of_scope_uses ;
    owl:allValuesFrom modelcard:OutOfScopeUse
  ] .

modelcard:Task a owl:Class ;
  rdfs:comment "ML task specification for benchmarking" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:BenchmarkDataset a owl:Class ;
  rdfs:comment "Dataset used for benchmarking" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:config ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:config ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:split ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:split ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:revision ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:revision ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:args ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:args ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:BenchmarkMetric a owl:Class ;
  rdfs:comment "Benchmark metric result" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:type ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:type ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:value ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:value ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:config ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:config ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:args ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:args ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:BenchmarkSource a owl:Class ;
  rdfs:comment "Source of benchmark results" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:url ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:BenchmarkResult a owl:Class ;
  rdfs:comment "Benchmark result entry with task, dataset, and metrics" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:task ;
    owl:allValuesFrom modelcard:Task
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:task ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:dataset ;
    owl:allValuesFrom modelcard:BenchmarkDataset
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:dataset ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:metrics ;
    owl:allValuesFrom modelcard:BenchmarkMetric
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:source ;
    owl:allValuesFrom modelcard:BenchmarkSource
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:source ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:ModelIndex a owl:Class ;
  rdfs:comment "Papers with Code model-index structure for benchmark tracking" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:results ;
    owl:allValuesFrom modelcard:BenchmarkResult
  ] .

modelcard:Contributor a owl:Class ;
  rdfs:comment "Contributor information with role-based attribution" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:name ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:role ;
    owl:allValuesFrom modelcard:ContributorRoleEnum
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:role ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:email ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:email ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:orcid ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:affiliation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:affiliation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:ComputeInfrastructure a owl:Class ;
  rdfs:comment "Compute infrastructure and resources used for training" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:hardware ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:hardware ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:hardware_list ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:software ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:software ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:software_dependencies ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:software_dependencies ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_speed ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_speed ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:Hyperparameters a owl:Class ;
  rdfs:comment "Training hyperparameters for reproducibility" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:model_initialization ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:model_initialization ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:optimizer ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:optimizer ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:loss_function ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:loss_function ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:stopping_criterion ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:stopping_criterion ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_epochs ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_epochs ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_steps ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_steps ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:batch_size ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:batch_size ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:learning_rate ;
    owl:allValuesFrom xsd:float
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:learning_rate ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:prompting_template ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:prompting_template ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:optimization_techniques ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:fine_tuning_method ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:fine_tuning_method ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:ReproducibilityInfo a owl:Class ;
  rdfs:comment "Information needed to reproduce model training" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:random_seed ;
    owl:allValuesFrom xsd:integer
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:random_seed ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:environment_config ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:environment_config ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:pipeline_url ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:hyperparameters ;
    owl:allValuesFrom modelcard:Hyperparameters
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:hyperparameters ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:CodeExample a owl:Class ;
  rdfs:comment "Code example for model usage" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:code ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:code ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:code_language ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:code_language ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:UsageDocumentation a owl:Class ;
  rdfs:comment "Comprehensive usage documentation with examples" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:installation_instructions ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:installation_instructions ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_configuration ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_configuration ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:inference_configuration ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:inference_configuration ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:code_examples ;
    owl:allValuesFrom modelcard:CodeExample
  ] .

modelcard:MissionRelevance a owl:Class ;
  rdfs:comment "Relevance to DOE mission and facilities" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:doe_project ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:doe_project ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:doe_facility ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:doe_facility ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:funding_source ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:funding_source ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:OutOfScopeUse a owl:Class ;
  rdfs:comment "Explicitly discouraged or out-of-scope uses" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:TrainingProcedure a owl:Class ;
  rdfs:comment "Detailed training procedure and methodology" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:methodology ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:methodology ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:reproducibility_info ;
    owl:allValuesFrom modelcard:ReproducibilityInfo
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:reproducibility_info ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:pre_training_info ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:pre_training_info ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_data_separate ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:training_data_separate ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:EvaluationProcedure a owl:Class ;
  rdfs:comment "Detailed evaluation procedure and benchmarks" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:description ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:benchmarks ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:baselines ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:sota_comparison ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:sota_comparison ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:uncertainty_quantification ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:uncertainty_quantification ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:evaluation_data_separate ;
    owl:allValuesFrom xsd:boolean
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:evaluation_data_separate ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:ModelCard a owl:Class ;
  rdfs:comment "Complete model card with metadata, performance, and considerations" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty modelcard:schema_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:schema_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:model_details ;
    owl:allValuesFrom modelcard:ModelDetails
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:model_details ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:model_parameters ;
    owl:allValuesFrom modelcard:ModelParameters
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:model_parameters ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:quantitative_analysis ;
    owl:allValuesFrom modelcard:QuantitativeAnalysis
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:quantitative_analysis ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:considerations ;
    owl:allValuesFrom modelcard:Considerations
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:considerations ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:model_category ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:model_category ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:bias_model ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:bias_model ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:bias_output ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:bias_output ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:framework ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:framework ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:framework_version ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:framework_version ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:library_name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:library_name ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:pipeline_tag ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:pipeline_tag ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:language ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:base_model ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:base_model ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:tags ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:datasets ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:metrics ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:model_index ;
    owl:allValuesFrom modelcard:ModelIndex
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:mission_relevance ;
    owl:allValuesFrom modelcard:MissionRelevance
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:mission_relevance ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:usage_documentation ;
    owl:allValuesFrom modelcard:UsageDocumentation
  ] , [
    a owl:Restriction ;
    owl:onProperty modelcard:usage_documentation ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

modelcard:name a owl:DatatypeProperty ;
  rdfs:comment "Name or identifier" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:description a owl:DatatypeProperty ;
  rdfs:comment "Textual description" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:contact a owl:DatatypeProperty ;
  rdfs:comment "Contact information (email, URL, etc.)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:date a owl:DatatypeProperty ;
  rdfs:comment "Date value" ;
  rdfs:range xsd:date ;
  a owl:FunctionalProperty .

modelcard:diff a owl:DatatypeProperty ;
  rdfs:comment "Difference or changelog from previous version" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:identifier a owl:DatatypeProperty ;
  rdfs:comment "SPDX license identifier (e.g., 'Apache-2.0', 'MIT')" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:custom_text a owl:DatatypeProperty ;
  rdfs:comment "Custom license text (when not using SPDX identifier)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:reference a owl:DatatypeProperty ;
  rdfs:comment "Reference URL or citation string" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:style a owl:ObjectProperty ;
  rdfs:comment "Citation format style" ;
  rdfs:range modelcard:CitationStyleEnum ;
  a owl:FunctionalProperty .

modelcard:citation a owl:DatatypeProperty ;
  rdfs:comment "Formatted citation text" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:overview a owl:DatatypeProperty ;
  rdfs:comment "High-level model description" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:documentation a owl:DatatypeProperty ;
  rdfs:comment "Detailed usage guide and documentation" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:owners a owl:ObjectProperty ;
  rdfs:comment "List of model owners or maintainers (individuals or organizations)" ;
  rdfs:range modelcard:Owner .

modelcard:version a owl:ObjectProperty ;
  rdfs:comment "Version information for the model" ;
  rdfs:range modelcard:Version ;
  a owl:FunctionalProperty .

modelcard:licenses a owl:ObjectProperty ;
  rdfs:comment "License information" ;
  rdfs:range xsd:string .

modelcard:references a owl:ObjectProperty ;
  rdfs:comment "Related resources and references" ;
  rdfs:range xsd:string .

modelcard:citations a owl:ObjectProperty ;
  rdfs:comment "Citation information for the model" ;
  rdfs:range xsd:string .

modelcard:path a owl:DatatypeProperty ;
  rdfs:comment "Storage location or path to model artifacts" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:link a owl:ObjectProperty ;
  rdfs:comment "URL to dataset" ;
  a owl:FunctionalProperty .

modelcard:sensitive a owl:ObjectProperty ;
  rdfs:comment "Sensitive data information" ;
  rdfs:range modelcard:SensitiveData ;
  a owl:FunctionalProperty .

modelcard:graphics a owl:ObjectProperty ;
  rdfs:comment "Visualizations and graphics" ;
  rdfs:range modelcard:GraphicsCollection ;
  a owl:FunctionalProperty .

modelcard:bias_input a owl:DatatypeProperty ;
  rdfs:comment "Known biases in the input data" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:unit a owl:DatatypeProperty ;
  rdfs:comment "Unit of measurement" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:sensitive_data a owl:DatatypeProperty ;
  rdfs:comment "Types of PII or sensitive information present" ;
  rdfs:range xsd:string .

modelcard:model_architecture a owl:DatatypeProperty ;
  rdfs:comment "Model architecture specification" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:data a owl:ObjectProperty ;
  rdfs:comment "Training and evaluation datasets" ;
  rdfs:range modelcard:DataSet .

modelcard:input_format a owl:DatatypeProperty ;
  rdfs:comment "Plain text input format specification" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:input_format_map a owl:ObjectProperty ;
  rdfs:comment "List of key/value pairs describing input format fields" ;
  rdfs:range modelcard:KeyVal .

modelcard:output_format a owl:DatatypeProperty ;
  rdfs:comment "Plain text output format specification" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:output_format_map a owl:ObjectProperty ;
  rdfs:comment "List of key/value pairs describing output format fields" ;
  rdfs:range modelcard:KeyVal .

modelcard:key a owl:DatatypeProperty ;
  rdfs:comment "Key in key-value pair" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:value a owl:DatatypeProperty ;
  rdfs:comment """Generic value field; the range is refined per class
(string for KeyVal, float for performanceMetric and BenchmarkMetric).
""" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:type a owl:DatatypeProperty ;
  rdfs:comment """Type identifier (semantics depend on owning class —
e.g., performance metric type, ML task type, dataset type).
""" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:value_error a owl:DatatypeProperty ;
  rdfs:comment "Estimated error for the metric" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

modelcard:confidence_interval a owl:ObjectProperty ;
  rdfs:comment "Confidence interval for the metric value" ;
  rdfs:range modelcard:ConfidenceInterval ;
  a owl:FunctionalProperty .

modelcard:threshold a owl:DatatypeProperty ;
  rdfs:comment "Decision threshold the metric was computed on" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

modelcard:slice a owl:DatatypeProperty ;
  rdfs:comment "Data slice identifier this metric was computed on" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:lower_bound a owl:DatatypeProperty ;
  rdfs:comment "Lower bound of confidence interval" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

modelcard:upper_bound a owl:DatatypeProperty ;
  rdfs:comment "Upper bound of confidence interval" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

modelcard:collection a owl:ObjectProperty ;
  rdfs:comment "Collection of items" ;
  rdfs:range xsd:string .

modelcard:image a owl:DatatypeProperty ;
  rdfs:comment "Base64-encoded image (PNG format)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:performance_metrics a owl:ObjectProperty ;
  rdfs:comment "Performance metrics and evaluation results" ;
  rdfs:range xsd:string .

modelcard:users a owl:ObjectProperty ;
  rdfs:comment "Intended users or user types" ;
  rdfs:range xsd:string .

modelcard:use_cases a owl:ObjectProperty ;
  rdfs:comment "Intended use cases and application scenarios" ;
  rdfs:range xsd:string .

modelcard:limitations a owl:ObjectProperty ;
  rdfs:comment "Known limitations and constraints" ;
  rdfs:range xsd:string .

modelcard:tradeoffs a owl:ObjectProperty ;
  rdfs:comment "Performance tradeoffs and considerations" ;
  rdfs:range xsd:string .

modelcard:ethical_considerations a owl:ObjectProperty ;
  rdfs:comment "Ethical considerations and risks" ;
  rdfs:range xsd:string .

modelcard:mitigation_strategy a owl:DatatypeProperty ;
  rdfs:comment "Strategy to address or mitigate this risk" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:schema_version a owl:DatatypeProperty ;
  rdfs:comment "Version of the model card schema" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:model_category a owl:DatatypeProperty ;
  rdfs:comment "Category or parent class of the model" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:model_details a owl:ObjectProperty ;
  rdfs:comment "Comprehensive model metadata" ;
  rdfs:range modelcard:ModelDetails ;
  a owl:FunctionalProperty .

modelcard:model_parameters a owl:ObjectProperty ;
  rdfs:comment "Model construction and architecture parameters" ;
  rdfs:range modelcard:ModelParameters ;
  a owl:FunctionalProperty .

modelcard:quantitative_analysis a owl:ObjectProperty ;
  rdfs:comment "Quantitative analysis and performance evaluation" ;
  rdfs:range modelcard:QuantitativeAnalysis ;
  a owl:FunctionalProperty .

modelcard:considerations a owl:ObjectProperty ;
  rdfs:comment "Usage considerations, limitations, and ethical concerns" ;
  rdfs:range modelcard:Considerations ;
  a owl:FunctionalProperty .

modelcard:bias_model a owl:DatatypeProperty ;
  rdfs:comment "Known biases in the model" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:bias_output a owl:DatatypeProperty ;
  rdfs:comment "Known biases in the model output" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:framework a owl:DatatypeProperty ;
  rdfs:comment "ML framework (TensorFlow, PyTorch, JAX, Scikit-Learn, etc.)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:framework_version a owl:DatatypeProperty ;
  rdfs:comment "Version of the ML framework" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:library_name a owl:DatatypeProperty ;
  rdfs:comment "Library name for loading the model (e.g., transformers, diffusers)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:pipeline_tag a owl:DatatypeProperty ;
  rdfs:comment "Task type (text-generation, image-classification, etc.)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:language a owl:DatatypeProperty ;
  rdfs:comment "Natural language(s) processed by the model" ;
  rdfs:range xsd:string .

modelcard:base_model a owl:DatatypeProperty ;
  rdfs:comment "Parent model identifier (for fine-tuned models)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:tags a owl:DatatypeProperty ;
  rdfs:comment "Searchable keywords and tags" ;
  rdfs:range xsd:string .

modelcard:datasets a owl:DatatypeProperty ;
  rdfs:comment "Training dataset identifiers" ;
  rdfs:range xsd:string .

modelcard:metrics a owl:ObjectProperty ;
  rdfs:comment "Evaluation metrics used" ;
  rdfs:range xsd:string .

modelcard:task a owl:ObjectProperty ;
  rdfs:comment "ML task being evaluated" ;
  rdfs:range modelcard:Task ;
  a owl:FunctionalProperty .

modelcard:dataset a owl:ObjectProperty ;
  rdfs:comment "Benchmark dataset reference" ;
  rdfs:range modelcard:BenchmarkDataset ;
  a owl:FunctionalProperty .

modelcard:source a owl:ObjectProperty ;
  rdfs:comment "Source of benchmark results" ;
  rdfs:range modelcard:BenchmarkSource ;
  a owl:FunctionalProperty .

modelcard:results a owl:ObjectProperty ;
  rdfs:comment "Benchmark or evaluation results" ;
  rdfs:range modelcard:BenchmarkResult .

modelcard:model_index a owl:ObjectProperty ;
  rdfs:comment "List of Papers with Code model-index entries, one per benchmark configuration" ;
  rdfs:range modelcard:ModelIndex .

modelcard:config a owl:DatatypeProperty ;
  rdfs:comment "Configuration name or identifier (e.g., HuggingFace dataset config name)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:split a owl:DatatypeProperty ;
  rdfs:comment "Dataset split (train, test, validation)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:revision a owl:DatatypeProperty ;
  rdfs:comment "Dataset or model revision/version" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:args a owl:DatatypeProperty ;
  rdfs:comment "Additional arguments or parameters" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:url a owl:ObjectProperty ;
  rdfs:comment "URL reference" ;
  a owl:FunctionalProperty .

modelcard:license_name a owl:DatatypeProperty ;
  rdfs:comment "Name of custom license (for non-SPDX licenses)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:license_link a owl:ObjectProperty ;
  rdfs:comment "URL to custom license file" ;
  a owl:FunctionalProperty .

modelcard:last_updated a owl:DatatypeProperty ;
  rdfs:comment "Last update timestamp" ;
  rdfs:range xsd:dateTime ;
  a owl:FunctionalProperty .

modelcard:superseded_by a owl:DatatypeProperty ;
  rdfs:comment "Identifier of superseding/newer version" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:role a owl:ObjectProperty ;
  rdfs:comment "Contributor role type" ;
  rdfs:range modelcard:ContributorRoleEnum ;
  a owl:FunctionalProperty .

modelcard:email a owl:DatatypeProperty ;
  rdfs:comment "Email address" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:orcid a owl:ObjectProperty ;
  rdfs:comment "ORCID identifier" ;
  a owl:FunctionalProperty .

modelcard:affiliation a owl:DatatypeProperty ;
  rdfs:comment "Institutional affiliation" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:hardware a owl:DatatypeProperty ;
  rdfs:comment "Description of compute hardware used" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:hardware_list a owl:DatatypeProperty ;
  rdfs:comment "List of compute resources (GPUs, clusters, DOE facilities)" ;
  rdfs:range xsd:string .

modelcard:software a owl:DatatypeProperty ;
  rdfs:comment "Software stack description" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:software_dependencies a owl:DatatypeProperty ;
  rdfs:comment "Detailed dependencies (pip freeze, conda list, spack lock, docker)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:training_speed a owl:DatatypeProperty ;
  rdfs:comment "Training performance metrics (tokens/sec, batches/hour, etc.)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:random_seed a owl:DatatypeProperty ;
  rdfs:comment "Random seed for reproducibility" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

modelcard:environment_config a owl:DatatypeProperty ;
  rdfs:comment "Environment configuration — inline content (YAML/JSON/text) or URL to config file" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:pipeline_url a owl:ObjectProperty ;
  rdfs:comment "URL to training pipeline or workflow" ;
  a owl:FunctionalProperty .

modelcard:hyperparameters a owl:ObjectProperty ;
  rdfs:comment "Training hyperparameters" ;
  rdfs:range modelcard:Hyperparameters ;
  a owl:FunctionalProperty .

modelcard:model_initialization a owl:DatatypeProperty ;
  rdfs:comment "Model initialization method" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:optimizer a owl:DatatypeProperty ;
  rdfs:comment "Optimizer used for training" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:loss_function a owl:DatatypeProperty ;
  rdfs:comment "Loss function used" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:stopping_criterion a owl:DatatypeProperty ;
  rdfs:comment "Training stopping criterion" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:training_epochs a owl:DatatypeProperty ;
  rdfs:comment "Number of training epochs" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

modelcard:training_steps a owl:DatatypeProperty ;
  rdfs:comment "Number of training steps" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

modelcard:batch_size a owl:DatatypeProperty ;
  rdfs:comment "Training batch size" ;
  rdfs:range xsd:integer ;
  a owl:FunctionalProperty .

modelcard:learning_rate a owl:DatatypeProperty ;
  rdfs:comment "Learning rate" ;
  rdfs:range xsd:float ;
  a owl:FunctionalProperty .

modelcard:prompting_template a owl:DatatypeProperty ;
  rdfs:comment "Prompting template used (for LLMs)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:optimization_techniques a owl:DatatypeProperty ;
  rdfs:comment """Optimization techniques applied during or after training
(e.g., quantization, pruning, distillation, sparsity,
gradient clipping, mixed precision).
""" ;
  rdfs:range xsd:string .

modelcard:fine_tuning_method a owl:DatatypeProperty ;
  rdfs:comment "Fine-tuning method (chain_of_thought, n_shot_learning, etc.)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:installation_instructions a owl:DatatypeProperty ;
  rdfs:comment "Installation instructions (markdown format)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:training_configuration a owl:DatatypeProperty ;
  rdfs:comment "Training configuration code or settings" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:inference_configuration a owl:DatatypeProperty ;
  rdfs:comment "Inference configuration code or settings" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:code_examples a owl:ObjectProperty ;
  rdfs:comment "Code examples for using the model" ;
  rdfs:range modelcard:CodeExample .

modelcard:code a owl:DatatypeProperty ;
  rdfs:comment "Code snippet" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:code_language a owl:DatatypeProperty ;
  rdfs:comment "Programming language of code snippet" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:doe_project a owl:DatatypeProperty ;
  rdfs:comment "DOE project identifier or name" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:doe_facility a owl:DatatypeProperty ;
  rdfs:comment "DOE facility used (ALCF Polaris, OLCF Frontier, etc.)" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:funding_source a owl:DatatypeProperty ;
  rdfs:comment "Funding source description" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:short_description a owl:DatatypeProperty ;
  rdfs:comment "Brief one-line description of the model" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:contributors a owl:ObjectProperty ;
  rdfs:comment "Model contributors with roles" ;
  rdfs:range modelcard:Contributor .

modelcard:compute_infrastructure a owl:ObjectProperty ;
  rdfs:comment "Compute infrastructure used" ;
  rdfs:range modelcard:ComputeInfrastructure ;
  a owl:FunctionalProperty .

modelcard:mission_relevance a owl:ObjectProperty ;
  rdfs:comment "DOE mission relevance" ;
  rdfs:range modelcard:MissionRelevance ;
  a owl:FunctionalProperty .

modelcard:training_procedure a owl:ObjectProperty ;
  rdfs:comment "Detailed training procedure" ;
  rdfs:range modelcard:TrainingProcedure ;
  a owl:FunctionalProperty .

modelcard:pre_training_info a owl:DatatypeProperty ;
  rdfs:comment "Pre-training information and details" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:training_data_separate a owl:DatatypeProperty ;
  rdfs:comment "Whether training data is separate/external" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

modelcard:evaluation_data_separate a owl:DatatypeProperty ;
  rdfs:comment "Whether evaluation data is separate/external" ;
  rdfs:range xsd:boolean ;
  a owl:FunctionalProperty .

modelcard:methodology a owl:DatatypeProperty ;
  rdfs:comment "Training or evaluation methodology" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:reproducibility_info a owl:ObjectProperty ;
  rdfs:comment "Reproducibility information" ;
  rdfs:range modelcard:ReproducibilityInfo ;
  a owl:FunctionalProperty .

modelcard:benchmarks a owl:DatatypeProperty ;
  rdfs:comment "Benchmarks used for evaluation" ;
  rdfs:range xsd:string .

modelcard:baselines a owl:DatatypeProperty ;
  rdfs:comment "Baseline models compared against" ;
  rdfs:range xsd:string .

modelcard:sota_comparison a owl:DatatypeProperty ;
  rdfs:comment "State-of-the-art comparison results" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:uncertainty_quantification a owl:DatatypeProperty ;
  rdfs:comment "Uncertainty quantification methodology" ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

modelcard:out_of_scope_uses a owl:ObjectProperty ;
  rdfs:comment "Explicit out-of-scope or prohibited uses" ;
  rdfs:range modelcard:OutOfScopeUse .

modelcard:usage_documentation a owl:ObjectProperty ;
  rdfs:comment "Usage documentation and examples" ;
  rdfs:range modelcard:UsageDocumentation ;
  a owl:FunctionalProperty .

modelcard:evaluation_procedure a owl:ObjectProperty ;
  rdfs:comment "Evaluation procedure details" ;
  rdfs:range modelcard:EvaluationProcedure ;
  a owl:FunctionalProperty .

modelcard:CitationStyleEnum a owl:Class ;
  rdfs:comment "Citation format styles" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( modelcard:CitationStyleEnum.MLA modelcard:CitationStyleEnum.APA modelcard:CitationStyleEnum.CHICAGO modelcard:CitationStyleEnum.IEEE )
  ] .

modelcard:CitationStyleEnum.MLA a owl:NamedIndividual ;
  skos:notation "MLA" ;
  rdfs:comment "Modern Language Association style" ;
  a modelcard:CitationStyleEnum .

modelcard:CitationStyleEnum.APA a owl:NamedIndividual ;
  skos:notation "APA" ;
  rdfs:comment "American Psychological Association style" ;
  a modelcard:CitationStyleEnum .

modelcard:CitationStyleEnum.CHICAGO a owl:NamedIndividual ;
  skos:notation "Chicago" ;
  rdfs:comment "Chicago Manual of Style" ;
  a modelcard:CitationStyleEnum .

modelcard:CitationStyleEnum.IEEE a owl:NamedIndividual ;
  skos:notation "IEEE" ;
  rdfs:comment "Institute of Electrical and Electronics Engineers style" ;
  a modelcard:CitationStyleEnum .

modelcard:ContributorRoleEnum a owl:Class ;
  rdfs:comment "Types of contributor roles for model development" ;
  owl:equivalentClass [
    a owl:Class ;
    owl:oneOf ( modelcard:ContributorRoleEnum.DEVELOPED_BY modelcard:ContributorRoleEnum.CONTRIBUTED_BY modelcard:ContributorRoleEnum.MAINTAINED_BY modelcard:ContributorRoleEnum.FUNDED_BY )
  ] .

modelcard:ContributorRoleEnum.DEVELOPED_BY a owl:NamedIndividual ;
  skos:notation "developed_by" ;
  rdfs:comment "Primary developers/designers of the model" ;
  a modelcard:ContributorRoleEnum .

modelcard:ContributorRoleEnum.CONTRIBUTED_BY a owl:NamedIndividual ;
  skos:notation "contributed_by" ;
  rdfs:comment "Supporting contributors to model development" ;
  a modelcard:ContributorRoleEnum .

modelcard:ContributorRoleEnum.MAINTAINED_BY a owl:NamedIndividual ;
  skos:notation "maintained_by" ;
  rdfs:comment "Current maintainers of the model" ;
  a modelcard:ContributorRoleEnum .

modelcard:ContributorRoleEnum.FUNDED_BY a owl:NamedIndividual ;
  skos:notation "funded_by" ;
  rdfs:comment "Funding sources or sponsors" ;
  a modelcard:ContributorRoleEnum .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

skos:notation a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .

xsd:date a rdfs:Datatype .
