diff --git a/chameo_r.ttl b/chameo_r.ttl new file mode 100644 index 0000000..ca6fdff --- /dev/null +++ b/chameo_r.ttl @@ -0,0 +1,2863 @@ +@prefix : . +@prefix owl: . +@prefix rdf: . +@prefix xml: . +@prefix xsd: . +@prefix bibo: . +@prefix emmo: . +@prefix foaf: . +@prefix rdfs: . +@prefix skos: . +@prefix vann: . +@prefix chameo: . +@prefix dcterms: . +@prefix datacite: . +@base . + + rdf:type owl:Ontology ; + owl:versionIRI ; + owl:imports , + , + , + , + , + , + , + , + , + , + , + , + ; + dcterms:abstract "CHAMEO is a domain ontology designed to model the common aspects across the different characterisation techniques and methodologies."@en ; + dcterms:alternative "CHAMEO" ; + dcterms:bibliographicCitation "Del Nostro, P., Goldbeck, G., Toti, D., 2022. CHAMEO: An ontology for the harmonisation of materials characterisation methodologies. Applied Ontology 17, 401–421. doi:10.3233/AO-220271." ; + dcterms:contributor , , ; + dcterms:creator , , ; + dcterms:created "2021-12-20" ; + dcterms:description "Characterisation Methodology Ontology"@en ; + dcterms:hasFormat ; + dcterms:identifier "https://w3id.org/emmo/domain/characterisation-methodology/chameo" ; + dcterms:issued "2024-04-12" ; + dcterms:license "https://creativecommons.org/licenses/by/4.0/legalcode" ; + dcterms:modified "2024-04-12" ; + dcterms:publisher "EMMC ASBL" ; + dcterms:source "" ; + dcterms:title "CHAracterisation MEthodology Ontology"@en ; + bibo:doi "" ; + "" ; + vann:preferredNamespacePrefix "chameo"@en ; + vann:preferredNamespaceUri "https://w3id.org/emmo/domain/characterisation-methodology/chameo" ; + rdfs:comment """Contacts: + Gerhard Goldbeck + Goldbeck Consulting Ltd (UK) + email: gerhard@goldbeck-consulting.com"""@en ; + owl:backwardCompatibleWith "" ; + owl:priorVersion "1.0.0-beta2" ; + owl:versionInfo "1.0.0-beta3" ; + skos:hiddenLabel "CHAMEO" ; + foaf:homepage ; + foaf:logo "https://raw.githubusercontent.com/emmo-repo/domain-characterisation-methodology/main/images/chameo_logo_small.png" ; + foaf:page . + + a foaf:Person ; + rdfs:label "Daniele Toti" ; + skos:prefLabel "Daniele Toti" ; + foaf:name "Daniele Toti" ; + rdfs:comment "" . + + a foaf:Person ; + rdfs:label "Pierluigi Del Nostro" ; + skos:prefLabel "Pierluigi Del Nostro" ; + foaf:name "Pierluigi Del Nostro" ; + rdfs:comment "" . + + a foaf:Person ; + rdfs:label "Gerhard Goldbeck" ; + skos:prefLabel "Gerhard Goldbeck" ; + foaf:name "Gerhard Goldbeck" ; + rdfs:comment "" . + +################################################################# +# Annotation properties +################################################################# + +### http://purl.org/dc/terms/alternative +dcterms:alternative rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/bibliographicCitation +dcterms:bibliographicCitation rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/created +dcterms:created rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/description +dcterms:description rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/hasFormat +dcterms:hasFormat rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/identifier +dcterms:identifier rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/issued +dcterms:issued rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/modified +dcterms:modified rdf:type owl:AnnotationProperty . + + +### http://purl.org/dc/terms/source +dcterms:source rdf:type owl:AnnotationProperty . + + +### http://purl.org/ontology/bibo/doi +bibo:doi rdf:type owl:AnnotationProperty . + + +### http://purl.org/vocab/vann/preferredNamespacePrefix +vann:preferredNamespacePrefix rdf:type owl:AnnotationProperty . + + +### http://purl.org/vocab/vann/preferredNamespaceUri +vann:preferredNamespaceUri rdf:type owl:AnnotationProperty . + + +### http://xmlns.com/foaf/0.1/homepage +foaf:homepage rdf:type owl:AnnotationProperty . + + +### http://xmlns.com/foaf/0.1/logo +foaf:logo rdf:type owl:AnnotationProperty . + + +### http://xmlns.com/foaf/0.1/page +foaf:page rdf:type owl:AnnotationProperty . + + +################################################################# +# Object Properties +################################################################# + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#characterisationProcedureHasSubProcedure +chameo:characterisationProcedureHasSubProcedure rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasSubProcess ; + rdfs:comment "" ; + rdfs:label "characterisationProcedureHasSubProcedure"@en ; + skos:prefLabel "characterisationProcedureHasSubProcedure"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasAccessConditions +chameo:hasAccessConditions rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain chameo:CharacterisationMethod ; + rdfs:range chameo:AccessConditions ; + rdfs:comment "" ; + rdfs:label "hasAccessConditions"@en ; + skos:prefLabel "hasAccessConditions"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasCharacterisationEnvironment +chameo:hasCharacterisationEnvironment rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:range chameo:CharacterisationEnvironment ; + rdfs:comment "" ; + rdfs:label "hasCharacterisationEnvironment"@en ; + skos:prefLabel "hasCharacterisationEnvironment"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasCharacterisationEnvironmentProperty +chameo:hasCharacterisationEnvironmentProperty rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain chameo:CharacterisationEnvironment ; + rdfs:range chameo:CharacterisationEnvironmentProperty ; + rdfs:comment "" ; + rdfs:label "hasCharacterisationEnvironmentProperty"@en ; + skos:prefLabel "hasCharacterisationEnvironmentProperty"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasCharacterisationProcedureValidation +chameo:hasCharacterisationProcedureValidation rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain chameo:CharacterisationMethod ; + rdfs:range chameo:CharacterisationProcedureValidation ; + rdfs:comment "" ; + rdfs:label "hasCharacterisationProcedureValidation"@en ; + skos:prefLabel "hasCharacterisationProcedureValidation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasCharacterisationProperty +chameo:hasCharacterisationProperty rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasMeasuredProperty ; + rdfs:domain chameo:Sample ; + rdfs:range chameo:CharacterisationProperty ; + rdfs:comment "" ; + rdfs:label "hasCharacterisationProperty"@en ; + skos:prefLabel "hasCharacterisationProperty"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasCharacterisationSoftware +chameo:hasCharacterisationSoftware rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:range chameo:CharacterisationSoftware ; + rdfs:comment "" ; + rdfs:label "hasCharacterisationSoftware"@en ; + skos:prefLabel "hasCharacterisationSoftware"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasDataAcquisitionRate +chameo:hasDataAcquisitionRate rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain chameo:RawData ; + rdfs:range chameo:DataAcquisitionRate ; + rdfs:comment "" ; + rdfs:label "hasDataAcquisitionRate"@en ; + skos:prefLabel "hasDataAcquisitionRate"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasDataProcessingThroughCalibration +chameo:hasDataProcessingThroughCalibration rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain chameo:CharacterisationMeasurementProcess ; + rdfs:range chameo:DataProcessingThroughCalibration ; + rdfs:comment "" ; + rdfs:label "hasDataProcessingThroughCalibration"@en ; + skos:prefLabel "hasDataProcessingThroughCalibration"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasDataQuality +chameo:hasDataQuality rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain chameo:MeasurementDataPostProcessing ; + rdfs:range chameo:DataQuality ; + rdfs:comment "" ; + rdfs:label "hasDataQuality"@en ; + skos:prefLabel "hasDataQuality"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasDataset +chameo:hasDataset rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf owl:topObjectProperty ; + rdfs:range emmo:DataSet ; + rdfs:comment "" ; + rdfs:label "hasDataset"@en ; + skos:prefLabel "hasDataset"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasHardwareSpecification +chameo:hasHardwareSpecification rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain chameo:CharacterisationHardware ; + rdfs:range chameo:CharacterisationHardwareSpecification ; + rdfs:comment "" ; + rdfs:label "hasHardwareSpecification"@en ; + skos:prefLabel "hasHardwareSpecification"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasHazard +chameo:hasHazard rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:range chameo:Hazard ; + rdfs:comment "" ; + rdfs:label "hasHazard"@en ; + skos:prefLabel "hasHazard"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasHolder +chameo:hasHolder rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:domain chameo:SamplePreparation ; + rdfs:range chameo:Holder ; + rdfs:comment "" ; + rdfs:label "hasHolder"@en ; + skos:prefLabel "hasHolder"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasInteractionVolume +chameo:hasInteractionVolume rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasParticipant ; + rdfs:domain chameo:ProbeSampleInteraction ; + rdfs:range chameo:InteractionVolume ; + rdfs:comment "" ; + rdfs:label "hasInteractionVolume"@en ; + skos:prefLabel "hasInteractionVolume"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasInteractionWithProbe +chameo:hasInteractionWithProbe rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasParticipant ; + rdfs:domain chameo:ProbeSampleInteraction ; + rdfs:range chameo:Probe ; + rdfs:comment "" ; + rdfs:label "hasInteractionWithProbe"@en ; + skos:prefLabel "hasInteractionWithProbe"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasInteractionWithSample +chameo:hasInteractionWithSample rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:domain chameo:ProbeSampleInteraction ; + rdfs:range chameo:Sample ; + rdfs:comment "" ; + rdfs:label "hasInteractionWithSample"@en ; + skos:prefLabel "hasInteractionWithSample"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasLab +chameo:hasLab rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:range chameo:Laboratory ; + rdfs:comment "" ; + rdfs:label "hasLab"@en ; + skos:prefLabel "hasLab"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasLevelOfAutomation +chameo:hasLevelOfAutomation rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain chameo:CharacterisationMethod ; + rdfs:range chameo:LevelOfAutomation ; + rdfs:comment "" ; + rdfs:label "hasLevelOfAutomation"@en ; + skos:prefLabel "hasLevelOfAutomation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasMeasurementDetector +chameo:hasMeasurementDetector rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:range chameo:Detector ; + rdfs:comment "" ; + rdfs:label "hasMeasurementDetector"@en ; + skos:prefLabel "hasMeasurementDetector"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasMeasurementParameter +chameo:hasMeasurementParameter rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasInput ; + rdfs:domain chameo:CharacterisationMeasurementProcess ; + rdfs:range chameo:MeasurementParameter ; + rdfs:comment "" ; + rdfs:label "hasMeasurementParameter"@en ; + skos:prefLabel "hasMeasurementParameter"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasMeasurementProbe +chameo:hasMeasurementProbe rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:range chameo:Probe ; + rdfs:comment "" ; + rdfs:label "hasMeasurementProbe"@en ; + skos:prefLabel "hasMeasurementProbe"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasMeasurementSample +chameo:hasMeasurementSample rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:domain chameo:CharacterisationMeasurementProcess ; + rdfs:range chameo:Sample ; + rdfs:comment "" ; + rdfs:label "hasMeasurementSample"@en ; + skos:prefLabel "hasMeasurementSample"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasMeasurementTime +chameo:hasMeasurementTime rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain emmo:Measurement ; + rdfs:range chameo:MeasurementTime ; + rdfs:comment "" ; + rdfs:label "hasMeasurementTime"@en ; + skos:prefLabel "hasMeasurementTime"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasOperator +chameo:hasOperator rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasAgent ; + rdfs:range chameo:Operator ; + rdfs:comment "" ; + rdfs:label "hasOperator"@en ; + skos:prefLabel "hasOperator"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasPeerReviewedArticle +chameo:hasPeerReviewedArticle rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasIcon ; + rdfs:domain chameo:CharacterisationProcedureValidation ; + rdfs:range datacite:ResourceIdentifier ; + rdfs:comment "" ; + rdfs:label "hasPeerReviewedArticle"@en ; + skos:prefLabel "hasPeerReviewedArticle"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasPhysicsOfInteraction +chameo:hasPhysicsOfInteraction rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasModel ; + rdfs:domain chameo:ProbeSampleInteraction ; + rdfs:range chameo:PhysicsOfInteraction ; + rdfs:comment "" ; + rdfs:label "hasPhysicsOfInteraction"@en ; + skos:prefLabel "hasPhysicsOfInteraction"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasPostProcessingModel +chameo:hasPostProcessingModel rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:domain chameo:MeasurementDataPostProcessing ; + rdfs:range chameo:PostProcessingModel ; + rdfs:comment "" ; + rdfs:label "hasPostProcessingModel"@en ; + skos:prefLabel "hasPostProcessingModel"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasProcessingReproducibility +chameo:hasProcessingReproducibility rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:domain chameo:MeasurementDataPostProcessing ; + rdfs:range chameo:ProcessingReproducibility ; + rdfs:comment "" ; + rdfs:label "hasProcessingReproducibility"@en ; + skos:prefLabel "hasProcessingReproducibility"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasSampleBeforeSamplePreparation +chameo:hasSampleBeforeSamplePreparation rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:domain chameo:SamplePreparation ; + rdfs:range chameo:Sample ; + rdfs:comment "" ; + rdfs:label "hasSampleBeforeSamplePreparation"@en ; + skos:prefLabel "hasSampleBeforeSamplePreparation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasSamplePreparationHardware +chameo:hasSamplePreparationHardware rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasTemporaryParticipant ; + rdfs:comment "" ; + rdfs:label "hasSamplePreparationHardware"@en ; + skos:prefLabel "hasSamplePreparationHardware"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasSamplePreparationInput +chameo:hasSamplePreparationInput rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasInput ; + rdfs:domain chameo:SamplePreparation ; + rdfs:range chameo:Sample ; + rdfs:comment "" ; + rdfs:label "hasSamplePreparationInput"@en ; + skos:prefLabel "hasSamplePreparationInput"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasSamplePreparationOutput +chameo:hasSamplePreparationOutput rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasOutput ; + rdfs:domain chameo:SamplePreparation ; + rdfs:range chameo:Sample ; + rdfs:comment "" ; + rdfs:label "hasSamplePreparationOutput"@en ; + skos:prefLabel "hasSamplePreparationOutput"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasSamplePreparationParameter +chameo:hasSamplePreparationParameter rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasInput ; + rdfs:domain chameo:SamplePreparation ; + rdfs:range chameo:SamplePreparationParameter ; + rdfs:comment "" ; + rdfs:label "hasSamplePreparationParameter"@en ; + skos:prefLabel "hasSamplePreparationParameter"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#hasSampledSample +chameo:hasSampledSample rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasOutput ; + rdfs:domain chameo:SamplingProcess ; + rdfs:range chameo:Sample ; + rdfs:comment "" ; + rdfs:label "hasSampledSample"@en ; + skos:prefLabel "hasSampledSample"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#requiresLevelOfExpertise +chameo:requiresLevelOfExpertise rdf:type owl:ObjectProperty ; + rdfs:subPropertyOf emmo:hasProperty ; + rdfs:range chameo:LevelOfExpertise ; + rdfs:comment "" ; + rdfs:label "requiresLevelOfExpertise"@en ; + skos:prefLabel "requiresLevelOfExpertise"@en . + + +################################################################# +# Data properties +################################################################# + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo/hasDateOfCalibration + rdf:type owl:DatatypeProperty ; + rdfs:subPropertyOf owl:topDataProperty ; + rdfs:domain chameo:CharacterisationInstrument ; + rdfs:range xsd:dateTime ; + rdfs:comment "" ; + rdfs:label "hasDateOfCalibration"@en ; + skos:prefLabel "hasDateOfCalibration"@en . + + +################################################################# +# Classes +################################################################# + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ACVoltammetry +chameo:ACVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q120895154" ; + emmo:elucidation "voltammetry in which a sinusoidal alternating potential of small amplitude (10 to 50 mV) of constant frequency (10 Hz to 100 kHz) is superimposed on a slowly and linearly varying potential ramp"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "The resulting alternating current is plotted versus imposed DC potential. The obtained AC voltammogram is peak-shaped."@en ; + skos:altLabel "ACV"@en ; + rdfs:comment "" ; + rdfs:label "ACVoltammetry"@en ; + skos:prefLabel "ACVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#AbrasiveStrippingVoltammetry +chameo:AbrasiveStrippingVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:elucidation "electrochemical method where traces of solid particles are abrasively transferred onto the surface of an electrode, followed by an electrochemical dissolution (anodic or cathodic dissolution) that is recorded as a current–voltage curve"@en ; + rdfs:comment "electrochemical method where traces of solid particles are abrasively transferred onto the surface of an electrode, followed by an electrochemical dissolution (anodic or cathodic dissolution) that is recorded as a current–voltage curve"@en ; + rdfs:comment "" ; + rdfs:label "AbrasiveStrippingVoltammetry"@en ; + skos:prefLabel "AbrasiveStrippingVoltammetry"@en . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:AbrasiveStrippingVoltammetry ; + owl:annotatedProperty emmo:elucidation ; + owl:annotatedTarget "electrochemical method where traces of solid particles are abrasively transferred onto the surface of an electrode, followed by an electrochemical dissolution (anodic or cathodic dissolution) that is recorded as a current–voltage curve"@en ; + dcterms:source "Scholz F, Nitschke L, Henrion G (1989) Naturwiss 76:71;" + ] . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#AccessConditions +chameo:AccessConditions rdf:type owl:Class ; + rdfs:subClassOf emmo:NominalProperty ; + emmo:elucidation "Describes what is needed to repeat the experiment"@en ; + emmo:example "In case of national or international facilities such as synchrotrons describe the programme that enabled you to access these."@en , + "Was the access to your characterisation tool an inhouse routine or required a 3rd party service?"@en , + "Was the access to your sample preparation an inhouse routine or required a 3rd party service?"@en ; + rdfs:comment "" ; + rdfs:label "AccessConditions"@en ; + skos:prefLabel "AccessConditions"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#AdsorptiveStrippingVoltammetry +chameo:AdsorptiveStrippingVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:StrippingVoltammetry ; + emmo:elucidation "Stripping voltammetry involving pre-concentration by adsorption of the analyte (in contrast to electro- chemical accumulation)."@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "A peak-shaped adsorptive stripping voltammogram is obtained. Peak current depends on time of accumulation, mass transport of analyte (stirring), scan rate and mode (linear or pulse), and analyte concentration in solution."@en , + "AdSV is usually employed for analysis of organic compounds or metal complexes with organic ligands. Stripping is done by means of an anodic or a cathodic voltammetric scan (linear or pulse), during which the adsorbed compound is oxidized or reduced."@en ; + skos:altLabel "AdSV"@en ; + rdfs:comment "" ; + rdfs:label "AdsorptiveStrippingVoltammetry"@en ; + skos:prefLabel "AdsorptiveStrippingVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#AlphaSpectrometry +chameo:AlphaSpectrometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectrometry ; + emmo:elucidation "Alpha spectrometry (also known as alpha(-particle) spectroscopy) is the quantitative study of the energy of alpha particles emitted by a radioactive nuclide that is an alpha emitter. As emitted alpha particles are mono-energetic (i.e. not emitted with a spectrum of energies, such as beta decay) with energies often distinct to the decay they can be used to identify which radionuclide they originated from."@en ; + rdfs:comment "" ; + rdfs:label "AlphaSpectrometry"@en ; + skos:prefLabel "AlphaSpectrometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Amperometry +chameo:Amperometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Electrochemical ; + emmo:elucidation "The amperometric method provides the ability to distinguish selectively between a number of electroactive species in solution by judicious selection of the applied potential and/or choice of electrode material."@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Amperometry can be distinguished from voltammetry by the parameter being controlled (electrode potential E) and the parameter being measured (electrode current I which is usually a function of time – see chronoamperometry)."@en , + "In a non-stirred solution, a diffusion-limited current is usually measured, which is propor-tional to the concentration of an electroactive analyte."@en , + "The current is usually faradaic and the applied potential is usually constant."@en , + "The integral of current with time is the electric charge, which may be related to the amount of substance reacted by Faraday’s laws of electrolysis."@en ; + rdfs:comment "" ; + rdfs:label "Amperometry"@en ; + skos:prefLabel "Amperometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#AnalyticalElectronMicroscopy +chameo:AnalyticalElectronMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Analytical electron microscopy (AEM) refers to the collection of spectroscopic data in TEM or STEM, enabling qualitative or quantitative compositional analysis."@en ; + rdfs:comment "" ; + rdfs:label "AnalyticalElectronMicroscopy"@en ; + skos:prefLabel "AnalyticalElectronMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#AnodicStrippingVoltammetry +chameo:AnodicStrippingVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:StrippingVoltammetry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q939328" ; + emmo:elucidation "Stripping voltammetry in which material accumulated at the working electrode is electrochemically oxi- dized in the stripping step."@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "A peak-shaped anodic stripping voltammogram is obtained. Peak current depends on time of accumulation, mass transport of analyte (stirring), scan rate and mode (linear or pulse), and analyte concentration in solution."@en , + "A solid electrode, carbon paste or composite electrode, bismuth film electrode, mercury film electrode, or static mercury drop electrode may be used."@en ; + rdfs:comment "" ; + rdfs:label "AnodicStrippingVoltammetry"@en ; + skos:prefLabel "AnodicStrippingVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#AtomProbeTomography +chameo:AtomProbeTomography rdf:type owl:Class ; + rdfs:subClassOf chameo:Tomography ; + emmo:elucidation """Atom Probe Tomography (APT or 3D Atom Probe) is the only material analysis technique offering extensive capabilities for both 3D imaging and chemical composition measurements at the atomic scale (around 0.1-0.3nm resolution in depth and 0.3-0.5nm laterally). Since its early developments, Atom Probe Tomography has contributed to major advances in materials science. + +The sample is prepared in the form of a very sharp tip. The cooled tip is biased at high DC voltage (3-15 kV). The very small radius of the tip and the High Voltage induce a very high electrostatic field (tens V/nm) at the tip surface, just below the point of atom evaporation. Under laser or HV pulsing, one or more atoms are evaporated from the surface, by field effect (near 100% ionization), and projected onto a Position Sensitive Detector (PSD) with a very high detection efficiency. Ion efficiencies are as high as 80%, the highest analytical efficiency of any 3D microscopy."""@en ; + skos:altLabel "3D Atom Probe" , + "APT" ; + rdfs:comment "" ; + rdfs:label "AtomProbeTomography"@en ; + skos:prefLabel "AtomProbeTomography"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#AtomicForceMicroscopy +chameo:AtomicForceMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Atomic force microscopy (AFM) is an influential surface analysis technique used for micro/nanostructured coatings. This flexible technique can be used to obtain high-resolution nanoscale images and study local sites in air (conventional AFM) or liquid (electrochemical AFM) surroundings."@en ; + rdfs:comment "" ; + rdfs:label "AtomicForceMicroscopy"@en ; + skos:prefLabel "AtomicForceMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CalibrationData +chameo:CalibrationData rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationData ; + emmo:elucidation "Calibration data are used to provide correction of measured data or perform uncertainty calculations. They are generally the result of a measuerement on a reference specimen."@en ; + rdfs:comment "" ; + rdfs:label "CalibrationData"@en ; + skos:prefLabel "CalibrationData"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CalibrationDataPostProcessing +chameo:CalibrationDataPostProcessing rdf:type owl:Class ; + rdfs:subClassOf chameo:DataPostProcessing ; + emmo:elucidation "Post-processing of the output of the calibration in order to get the actual calibration data to be used as input for the measurement."@en ; + rdfs:comment "" ; + rdfs:label "CalibrationDataPostProcessing"@en ; + skos:prefLabel "CalibrationDataPostProcessing"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CalibrationProcess +chameo:CalibrationProcess rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationProcedure , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasOutput ; + owl:someValuesFrom chameo:CalibrationData + ] , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasTemporaryParticipant ; + owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; + owl:onClass chameo:CharacterisationInstrument + ] ; + emmo:definition """Operation performed on a measuring instrument or a measuring system that, under specified conditions +1. establishes a relation between the values with measurement uncertainties provided by measurement standards and corresponding indications with associated measurement uncertainties and +2. uses this information to establish a relation for obtaining a measurement result from an indication +NOTE 1 The objective of calibration is to provide traceability of measurement results obtained when using a calibrated measuring instrument or measuring system. +NOTE 2 The outcome of a calibration may be expressed by a statement, calibration function, calibration diagram, calibration curve, or calibration table. In some cases, it may consist of an additive or multiplicative correction of the indication with associated measurement uncertainty. +NOTE 3 Calibration should not be confused with adjustment of a measuring system, often mistakenly called “selfcalibration”, nor with verification of calibration. Calibration is sometimes a prerequisite for verification, which provides confirmation that specified requirements (often maximum permissible errors) are met. Calibration is sometimes also a prerequisite for adjustment, which is the set of operations carried out on a measuring system such that the system provides prescribed indications corresponding to given values of quantities being measured, typically obtained from +measurement standards. +NOTE 4 Sometimes the first step alone of the operation mentioned in the definition is intended as being calibration, as it was in previous editions of this Vocabulary. The second step is in fact required to establish instrumental uncertainty +for the measurement results obtained when using the calibrated measuring system. The two steps together aim to demonstrate the metrological traceability of measurement results obtained by a calibrated measuring system. In the +past the second step was usually considered to occur after the calibration. +NOTE 5 A comparison between two measurement standards may be viewed as a calibration if the comparison is used to check and, if necessary, correct the value and measurement uncertainty attributed to one of the measurement +standards. + +-- International Vocabulary of Metrology(VIM)"""@en ; + emmo:elucidation "Sequence of operations/actions that are needed to convert the initial signal (as produced by the detector) into a meaningful and useable raw data."@en ; + emmo:example "In nanoindentation, the electrical signal coming from capacitive displacement gauge is converted into a real raw-displacement signal after using a proper calibration function (as obtained by the equipment manufacturer). Then, additional calibration procedures are applied to define the point of initial contact and to correct for instrument compliance, thermal drift, and indenter area function to obtain the real useable displacement data."@en ; + emmo:comment "Usually the calibration process involve a reference sample (with pre-defined, specific, and stable physical characteristics and known properties), in order to extract calibration data. In this way, the accuracy of the measurement tool and its components (for example the probe) will be evaluated and confirmed."@en ; + rdfs:comment "" ; + rdfs:label "CalibrationProcess"@en ; + skos:prefLabel "CalibrationProcess"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CalibrationTask +chameo:CalibrationTask rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationTask , + [ rdf:type owl:Restriction ; + owl:onProperty [ owl:inverseOf emmo:hasTask + ] ; + owl:someValuesFrom chameo:CalibrationProcess + ] ; + emmo:elucidation "Single calibration Task that is part of a Calibration Process Workflow."@en ; + rdfs:comment "" ; + rdfs:label "CalibrationTask" ; + skos:prefLabel "CalibrationTask" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Calorimetry +chameo:Calorimetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Thermochemical ; + emmo:elucidation "In chemistry and thermodynamics, calorimetry (from Latin calor 'heat', and Greek μέτρον (metron) 'measure') is the science or act of measuring changes in state variables of a body for the purpose of deriving the heat transfer associated with changes of its state due, for example, to chemical reactions, physical changes, or phase transitions under specified constraints. Calorimetry is performed with a calorimeter."@en ; + rdfs:comment "" ; + rdfs:label "Calorimetry"@en ; + skos:prefLabel "Calorimetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CathodicStrippingVoltammetry +chameo:CathodicStrippingVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:StrippingVoltammetry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q4016325" ; + emmo:elucidation "stripping voltammetry in which material accumulated at the working electrode is electrochemically reduced in the stripping step"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "A peak-shaped cathodic stripping voltammogram is obtained. Peak current depends on time of accumulation, mass transport of analyte (stirring), scan rate and mode (linear or pulse), and analyte concentration in solution."@en ; + skos:altLabel "CSV"@en ; + rdfs:comment "" ; + rdfs:label "CathodicStrippingVoltammetry"@en ; + skos:prefLabel "CathodicStrippingVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationData +chameo:CharacterisationData rdf:type owl:Class ; + rdfs:subClassOf emmo:EncodedData ; + emmo:elucidation "Represents every type of data that is produced during a characterisation process"@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationData" ; + skos:prefLabel "CharacterisationData" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationDataValidation +chameo:CharacterisationDataValidation rdf:type owl:Class ; + rdfs:subClassOf emmo:DataProcessing ; + emmo:elucidation "Procedures to validate the characterisation data."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationDataValidation"@en ; + skos:prefLabel "CharacterisationDataValidation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationEnvironment +chameo:CharacterisationEnvironment rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasProperty ; + owl:someValuesFrom chameo:CharacterisationEnvironmentProperty + ] ; + emmo:elucidation "Medium of the characterisation experiment defined by the set of environmental conditions that are controlled and measured over time during the experiment."@en ; + emmo:comment "Characterisation can either be made in air (ambient conditions, without specific controls on environmental parameters), or at different temperatures, different pressures (or in vacuum), or using different types of working gases (inert or reactive with respect to sample), different levels of humidity, etc."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationEnvironment"@en ; + skos:prefLabel "CharacterisationEnvironment"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationEnvironmentProperty +chameo:CharacterisationEnvironmentProperty rdf:type owl:Class ; + rdfs:subClassOf emmo:Property ; + rdfs:comment "" ; + rdfs:label "CharacterisationEnvironmentProperty" ; + skos:prefLabel "CharacterisationEnvironmentProperty" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationExperiment +chameo:CharacterisationExperiment rdf:type owl:Class ; + rdfs:subClassOf emmo:Experiment ; + emmo:elucidation "A characterisation experiment is the process by which a material's structure and properties are probed and measured. It is a fundamental process in the field of materials science, without which no scientific understanding of engineering materials could be ascertained."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationExperiment"@en ; + skos:prefLabel "CharacterisationExperiment"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationHardware +chameo:CharacterisationHardware rdf:type owl:Class ; + rdfs:subClassOf emmo:ManufacturedProduct ; + emmo:elucidation "Whatever hardware is used during the characterisation process."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationHardware"@en ; + skos:prefLabel "CharacterisationHardware"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationHardwareManufacturer +chameo:CharacterisationHardwareManufacturer rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationHardwareSpecification ; + owl:disjointWith chameo:CharacterisationHardwareModel ; + rdfs:comment "" ; + rdfs:label "HardwareManufacturer"@en ; + skos:prefLabel "HardwareManufacturer"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationHardwareModel +chameo:CharacterisationHardwareModel rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationHardwareSpecification ; + rdfs:comment "" ; + rdfs:label "HardwareModel"@en ; + skos:prefLabel "HardwareModel"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationHardwareSpecification +chameo:CharacterisationHardwareSpecification rdf:type owl:Class ; + rdfs:subClassOf emmo:Property ; + rdfs:comment "" ; + rdfs:label "CharacterisationHardwareSpecification"@en ; + skos:prefLabel "CharacterisationHardwareSpecification"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationInstrument +chameo:CharacterisationInstrument rdf:type owl:Class ; + rdfs:subClassOf emmo:Device , + emmo:MeasuringInstrument , + chameo:CharacterisationHardware , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasHolisticPart ; + owl:someValuesFrom chameo:Detector + ] , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasHolisticPart ; + owl:someValuesFrom chameo:Probe + ] ; + emmo:definition """Device used for making measurements, alone or in conjunction with one or more supplementary +devices +NOTE 1 A measuring instrument that can be used alone for making measurements is a measuring system. +NOTE 2 A measuring instrument is either an indicating measuring instrument or a material measure."""@en ; + emmo:elucidation "The instrument used for characterising a material, which usually has a probe and a detector as parts."@en ; + emmo:example "In nanoindentation is the nanoindenter" ; + emmo:VIMTerm "Measuring instrument"@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationInstrument" ; + skos:prefLabel "CharacterisationInstrument" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationMeasurementProcess +chameo:CharacterisationMeasurementProcess rdf:type owl:Class ; + rdfs:subClassOf emmo:Measurement , + chameo:CharacterisationProcedure , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasTemporaryParticipant ; + owl:someValuesFrom chameo:CharacterisationEnvironment + ] , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasTemporaryParticipant ; + owl:someValuesFrom chameo:CharacterisationInstrument + ] , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasTemporaryParticipant ; + owl:someValuesFrom chameo:Sample + ] , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasInput ; + owl:someValuesFrom chameo:MeasurementParameter + ] , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasOutput ; + owl:someValuesFrom chameo:CharacterisationData + ] ; + emmo:definition """Process of experimentally obtaining one or more values that can reasonably be attributed to a quantity together with any other available relevant information +NOTE 1 The quantity mentioned in the definition is an individual quantity. +NOTE 2 The relevant information mentioned in the definition may be about the values obtained by the measurement, +such that some may be more representative of the measurand than others. +NOTE 3 Measurement is sometimes considered to apply to nominal properties, but not in this Vocabulary, where the +process of obtaining values of nominal properties is called “examination”. +NOTE 4 Measurement requires both experimental comparison of quantities or experimental counting of entities at +some step of the process and the use of models and calculations that are based on conceptual considerations. +NOTE 5 The conditions of reasonable attribution mentioned in the definition take into account a description of the +quantity commensurate with the intended use of a measurement result, a measurement procedure, and a calibrated +measuring system operating according to the specified measurement procedure, including the measurement +conditions. Moreover, a maximum permissible error and/or a target uncertainty may be specified, and the +measurement procedure and the measuring system should then be chosen in order not to exceed these measuring +system specifications. + +-- International Vocabulary of Metrology(VIM)"""@en ; + emmo:elucidation "The measurement process associates raw data to the sample through a probe and a detector."@en ; + emmo:VIMTerm "Measurement"@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationMeasurementProcess"@en ; + skos:prefLabel "CharacterisationMeasurementProcess"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationMeasurementTask +chameo:CharacterisationMeasurementTask rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationTask , + [ rdf:type owl:Restriction ; + owl:onProperty [ owl:inverseOf emmo:hasTask + ] ; + owl:someValuesFrom chameo:CharacterisationMeasurementProcess + ] ; + emmo:elucidation "Single calibration Task that is part of a Characterisation Measurement Process Workflow."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationMeasurementTask"@en ; + skos:prefLabel "CharacterisationMeasurementTask"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationMethod +chameo:CharacterisationMethod rdf:type owl:Class ; + rdfs:subClassOf emmo:Observation , + chameo:CharacterisationProcedure ; + emmo:elucidation "The description of the overall characterisation method. It can be composed of different steps (e.g. sample preparation, calibration, measurement, post-processing)."@en ; + emmo:comment "A characterisation method is not only related to the measurement process which can be one of its steps." ; + skos:altLabel "Characterisation procedure"@en , + "Characterisation technique"@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationMethod"@en ; + skos:prefLabel "CharacterisationMethod"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationProcedure +chameo:CharacterisationProcedure rdf:type owl:Class ; + rdfs:subClassOf emmo:Procedure ; + emmo:elucidation "The process of performing characterisation by following some existing formalised operative rules."@en ; + emmo:example """Sample preparation +Sample inspection +Calibration +Microscopy +Viscometry +Data sampling"""@en ; + emmo:comment "Characterisation procedure may refer to the full characterisation process or just a part of the full process."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationProcedure"@en ; + skos:prefLabel "CharacterisationProcedure"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationProcedureValidation +chameo:CharacterisationProcedureValidation rdf:type owl:Class ; + rdfs:subClassOf emmo:NominalProperty ; + emmo:elucidation "Describes why the characterization procedure was chosen and deemed to be the most useful for the sample."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationProcedureValidation"@en ; + skos:prefLabel "CharacterisationProcedureValidation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationProperty +chameo:CharacterisationProperty rdf:type owl:Class ; + rdfs:subClassOf emmo:MeasuredProperty , + chameo:SecondaryData ; + emmo:elucidation "The characterisation property is the investigate property or behaviour of a sample. It is derived from the secondary data, usually after classification or quantification (manually or by a model)."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationProperty"@en ; + skos:prefLabel "CharacterisationProperty"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationProtocol +chameo:CharacterisationProtocol rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationProcedure ; + emmo:elucidation "A characterisation protocol is defined whenever it is desirable to standardize a laboratory method to ensure successful replication of results by others in the same laboratory or by other laboratories."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationProtocol"@en ; + skos:prefLabel "CharacterisationProtocol"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationSoftware +chameo:CharacterisationSoftware rdf:type owl:Class ; + rdfs:subClassOf emmo:ApplicationProgram ; + emmo:elucidation "A software application to process characterisation data"@en ; + emmo:example "In Nanoindentation post-processing the software used to apply the Oliver-Pharr to calculate the characterisation properties (i.e. elastic modulus, hardness) from load and depth data." ; + rdfs:comment "" ; + rdfs:label "CharacterisationSoftware" ; + skos:prefLabel "CharacterisationSoftware" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationSystem +chameo:CharacterisationSystem rdf:type owl:Class ; + rdfs:subClassOf emmo:MeasuringSystem , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasPart ; + owl:someValuesFrom chameo:CharacterisationInstrument + ] ; + emmo:definition """Set of one or more measuring instruments and often other components, assembled and +adapted to give information used to generate measured values within specified intervals for +quantities of specified kinds +NOTE 1 The components mentioned in the definition may be devices, reagents, and supplies. +NOTE 2 A measuring system is sometimes referred to as “measuring equipment” or “device”, for example in ISO 10012, +Measurement management systems – Requirements for measurement processes and measuring equipment and ISO +17025, General requirements for the competence of testing and calibration laboratories. +NOTE 3 Although the terms “measuring system” and “measurement system” are frequently used synonymously, the +latter is instead sometimes used to refer to a measuring system plus all other entities involved in a measurement, +including the object under measurement and the person(s) performing the measurement. +NOTE 4 A measuring system can be used as a measurement standard."""@en ; + emmo:elucidation "A set of one or more 'CharacterisationInstruments' and often other devices, including any sample holder, reagent and supply, assembled and adapted to give information used to generate 'MeasuredQuantityProperty' within specified intervals for quantities of specified kinds."@en ; + emmo:VIMTerm "Measuring system"@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationSystem"@en ; + skos:prefLabel "CharacterisationSystem"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationTask +chameo:CharacterisationTask rdf:type owl:Class ; + owl:equivalentClass [ owl:intersectionOf ( emmo:Task + chameo:CharacterisationProcedure + ) ; + rdf:type owl:Class + ] ; + rdfs:subClassOf emmo:Task , + [ rdf:type owl:Restriction ; + owl:onProperty [ owl:inverseOf emmo:hasTask + ] ; + owl:someValuesFrom chameo:CharacterisationWorkflow + ] ; + rdfs:comment "" ; + rdfs:label "CharacterisationTask"@en ; + skos:prefLabel "CharacterisationTask"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisationWorkflow +chameo:CharacterisationWorkflow rdf:type owl:Class ; + owl:equivalentClass [ owl:intersectionOf ( emmo:Workflow + chameo:CharacterisationProcedure + ) ; + rdf:type owl:Class + ] ; + rdfs:subClassOf emmo:Workflow ; + emmo:elucidation "A characterisation procedure that has at least two characterisation tasks as proper parts."@en ; + rdfs:comment "" ; + rdfs:label "CharacterisationWorkflow"@en ; + skos:prefLabel "CharacterisationWorkflow"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CharacterisedSample +chameo:CharacterisedSample rdf:type owl:Class ; + rdfs:subClassOf chameo:Sample ; + emmo:elucidation "The sample after having been subjected to a characterization process"@en ; + rdfs:comment "" ; + rdfs:label "CharacterisedSample" ; + skos:prefLabel "CharacterisedSample" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ChargeDistribution +chameo:ChargeDistribution rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + rdfs:comment "" ; + rdfs:label "ChargeDistribution"@en ; + skos:prefLabel "ChargeDistribution"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Chromatography +chameo:Chromatography rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "In chemical analysis, chromatography is a laboratory technique for the separation of a mixture into its components."@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Chromatography" ; + rdfs:comment "" ; + rdfs:label "Chromatography"@en ; + skos:prefLabel "Chromatography"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Chronoamperometry +chameo:Chronoamperometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Amperometry ; + emmo:elucidation "amperometry in which the current is measured as a function of time after a change in the applied potential"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "If the potential step is from a potential at which no current flows (i.e., at which the oxidation or reduction of the electrochemically active species does not take place) to one at which the current is limited by diffusion (see diffusion-limited current), the current obeys the Cottrell equation."@en ; + skos:altLabel "AmperiometricDetection"@en , + "AmperometricCurrentTimeCurve"@en ; + rdfs:comment "" ; + rdfs:label "Chronoamperometry"@en ; + skos:prefLabel "Chronoamperometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Chronocoulometry +chameo:Chronocoulometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Coulometry ; + emmo:elucidation "direct coulometry at controlled potential in which the electric charge passed after the application of a potential step perturbation is measured as a function of time (Q-t curve)"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Chronocoulometry provides the same information that is provided by chronoamperometry, since it is based on the integration of the I-t curve. Nevertheless, chronocoulometry offers important experimental advantages, such as (i) the measured signal usually increases with time and hence the later parts of the transient can be detected more accurately, (ii) a better signal-to-noise ratio can be achieved, and (iii) other contributions to overall charge passed as a function of time can be discriminated from those due to the diffusion of electroactive substances."@en ; + rdfs:comment "" ; + rdfs:label "Chronocoulometry"@en ; + skos:prefLabel "Chronocoulometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Chronopotentiometry +chameo:Chronopotentiometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Potentiometry ; + emmo:elucidation "potentiometry in which the potential is measured with time following a change in applied current"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "The change in applied current is usually a step, but cyclic current reversals or linearly increasing currents are also used."@en ; + rdfs:comment "" ; + rdfs:label "Chronopotentiometry"@en ; + skos:prefLabel "Chronopotentiometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CompressionTest +chameo:CompressionTest rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + emmo:elucidation "Compression tests characterize material and product strength and stiffness under applied crushing loads. These tests are typically conducted by applying compressive pressure to a test specimen using platens or specialized fixtures with a testing machine that produces compressive loads."@en ; + rdfs:comment "" ; + rdfs:label "CompressionTest"@en ; + skos:prefLabel "CompressionTest"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ConductometricTitration +chameo:ConductometricTitration rdf:type owl:Class ; + rdfs:subClassOf chameo:Conductometry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q11778221" ; + emmo:elucidation "titration in which the electric conductivity of a solution is measured as a function of the amount of titrant added"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "The equivalence-point is obtained as the intersection of linear parts of the conductance G, versus titrant volume V, curve (see"@en , + "The method can be used for deeply coloured or turbid solutions. Acid-base and precipita- tion reactions are most frequently used."@en , + "The method is based on replacing an ionic species of the analyte with another species, cor- responding to the titrant or the product with significantly different conductance."@en ; + rdfs:comment "" ; + rdfs:label "ConductometricTitration"@en ; + skos:prefLabel "ConductometricTitration"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Conductometry +chameo:Conductometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Electrochemical ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q901180" ; + emmo:elucidation "measurement principle in which the electric conductivity of a solution is measured"@en ; + emmo:example "Monitoring of the purity of deionized water."@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Conductometry"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "The conductivity of a solution depends on the concentration and nature of ions present."@en ; + rdfs:comment "" ; + rdfs:label "Conductometry"@en ; + skos:prefLabel "Conductometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ConfocalMicroscopy +chameo:ConfocalMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Confocal microscopy, most frequently confocal laser scanning microscopy (CLSM) or laser scanning confocal microscopy (LSCM), is an optical imaging technique for increasing optical resolution and contrast of a micrograph by means of using a spatial pinhole to block out-of-focus light in image formation."@en ; + rdfs:comment "" ; + rdfs:label "ConfocalMicroscopy"@en ; + skos:prefLabel "ConfocalMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CoulometricTitration +chameo:CoulometricTitration rdf:type owl:Class ; + rdfs:subClassOf chameo:Coulometry ; + emmo:elucidation "titration in which the titrant is generated electrochemically, either by constant current or at constant potential. The titrant reacts stoichiometrically with the analyte, the amount of which is calculated using Faraday’s laws of electrolysis from the electric charge required to reach the end-point"@en ; + rdfs:comment "Coulometric titrations are usually carried out in convective mass transfer mode using a large surface working electrode. The reference and auxiliary electrodes are located in sepa- rate compartments. A basic requirement is a 100 % current efficiency of titrant generation at the working electrode. End-point detection can be accomplished with potentiometry, amperometry, biamperometry, bipotentiometry, photometry, or by using a visual indicator."@en , + "The main advantages are that titration is possible with less stable titrants, the standardi- zation of titrant is not necessary, the volume of the test solution is not changed, and the method is easily automated."@en ; + rdfs:comment "" ; + rdfs:label "CoulometricTitration"@en ; + skos:prefLabel "CoulometricTitration"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Coulometry +chameo:Coulometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Electrochemical ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q1136979" ; + emmo:IEVReference "https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=114-04-13" ; + emmo:elucidation "electrochemical measurement principle in which the electric charge required to carry out a known electrochemical reaction is measured. By Faraday’s laws of electrolysis, the amount of substance is proportional to the charge"@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Coulometry"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Coulometry used to measure the amount of substance is a primary reference measurement procedure [VIM 2.8] not requiring calibration with a standard for a quantity of the same kind (i.e. amount of substance)."@en , + "The coulometric experiment can be carried out at controlled (constant) potential (see direct coulometry at controlled potential) or controlled (constant) current (see direct coulometry at controlled current)."@en ; + rdfs:comment "" ; + rdfs:label "Coulometry"@en ; + skos:prefLabel "Coulometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CreepTest +chameo:CreepTest rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + emmo:elucidation "The creep test is a destructive materials testing method for determination of the long-term strength and heat resistance of a material. When running a creep test, the specimen is subjected to increased temperature conditions for an extended period of time and loaded with a constant tensile force or tensile stress."@en ; + rdfs:comment "" ; + rdfs:label "CreepTest"@en ; + skos:prefLabel "CreepTest"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CriticalAndSupercriticalChromatography +chameo:CriticalAndSupercriticalChromatography rdf:type owl:Class ; + rdfs:subClassOf chameo:Chromatography ; + rdfs:comment "" ; + rdfs:label "CriticalAndSupercriticalChromatography"@en ; + skos:prefLabel "CriticalAndSupercriticalChromatography"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CyclicChronopotentiometry +chameo:CyclicChronopotentiometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Chronopotentiometry ; + emmo:elucidation "chronopotentiometry where the change in applied current undergoes a cyclic current reversal"@en ; + rdfs:comment "" ; + rdfs:label "CyclicChronopotentiometry"@en ; + skos:prefLabel "CyclicChronopotentiometry"@en . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:CyclicChronopotentiometry ; + owl:annotatedProperty emmo:elucidation ; + owl:annotatedTarget "chronopotentiometry where the change in applied current undergoes a cyclic current reversal"@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109." + ] . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#CyclicVoltammetry +chameo:CyclicVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q1147647" ; + emmo:dbpediaReference "https://dbpedia.org/page/Cyclic_voltammetry"^^xsd:anyURI ; + emmo:elucidation "voltammetry in which the electric current is recorded as the electrode potential is varied with time cycli- cally between two potential limits, normally at a constant scan rate"@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Cyclic_voltammetry"^^xsd:anyURI ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Cyclic voltammetry is frequently used for the investigation of mechanisms of electrochemi- cal/electrode reactions. The current-potential curve may be modelled to obtain reaction mechanisms and electrochemical parameters."@en , + "Normally the initial potential is chosen where no electrode reaction occurs and the switch- ing potential is greater (more positive for an oxidation or more negative for a reduction) than the peak potential of the analyte reaction."@en , + "The initial potential is usually the negative or positive limit of the cycle but can have any value between the two limits, as can the initial scan direction. The limits of the potential are known as the switching potentials."@en , + "The plot of current against potential is termed a cyclic voltammogram. Usually peak-shaped responses are obtained for scans in both directions."@en ; + skos:altLabel "CV"@en ; + rdfs:comment "" ; + rdfs:label "CyclicVoltammetry"@en ; + skos:prefLabel "CyclicVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DCPolarography +chameo:DCPolarography rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:elucidation "linear scan voltammetry with slow scan rate in which a dropping mercury electrode is used as the working electrode"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "If the whole scan is performed on a single growing drop, the technique should be called single drop scan voltammetry. The term polarography in this context is discouraged."@en , + "This is the oldest variant of polarographic techniques, introduced by Jaroslav Heyrovský (1890 – 1967)."@en , + "Usually the drop time is between 1 and 5 s and the pseudo-steady-state wave-shaped dependence on potential is called a polarogram. If the limiting current is controlled by dif- fusion, it is expressed by the Ilkovich equation."@en ; + rdfs:comment "" ; + rdfs:label "DCPolarography"@en ; + skos:prefLabel "DCPolarography"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DataAcquisitionRate +chameo:DataAcquisitionRate rdf:type owl:Class ; + rdfs:subClassOf emmo:Property ; + emmo:elucidation "Quantify the raw data acquisition rate, if applicable."@en ; + rdfs:comment "" ; + rdfs:label "DataAcquisitionRate"@en ; + skos:prefLabel "DataAcquisitionRate"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DataAnalysis +chameo:DataAnalysis rdf:type owl:Class ; + rdfs:subClassOf emmo:DataProcessing ; + emmo:elucidation "Data processing activities performed on the secondary data to determine the characterisation property (e.g. classification, quantification), which can be performed manually or exploiting a model."@en ; + rdfs:comment "" ; + rdfs:label "DataAnalysis"@en ; + skos:prefLabel "DataAnalysis"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DataFiltering +chameo:DataFiltering rdf:type owl:Class ; + rdfs:subClassOf chameo:DataPreparation ; + emmo:elucidation "Data filtering is the process of examining a dataset to exclude, rearrange, or apportion data according to certain criteria." ; + rdfs:comment "" ; + rdfs:label "DataFiltering"@en ; + skos:prefLabel "DataFiltering"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DataNormalisation +chameo:DataNormalisation rdf:type owl:Class ; + rdfs:subClassOf chameo:DataPreparation ; + emmo:elucidation "Data normalization involves adjusting raw data to a notionally common scale."@en ; + emmo:comment "It involves the creation of shifted and/or scaled versions of the values to allow post-processing in a way that eliminates the effects of influences on subsequent properties extraction."@en ; + rdfs:comment "" ; + rdfs:label "DataNormalisation"@en ; + skos:prefLabel "DataNormalisation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DataPostProcessing +chameo:DataPostProcessing rdf:type owl:Class ; + rdfs:subClassOf emmo:DataProcessing ; + emmo:elucidation "Analysis, that allows one to calculate the final material property from the calibrated primary data." ; + rdfs:comment "" ; + rdfs:label "DataPostProcessing"@en ; + skos:prefLabel "DataPostProcessing"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DataPreparation +chameo:DataPreparation rdf:type owl:Class ; + rdfs:subClassOf emmo:DataProcessing ; + emmo:elucidation "Data preparation is the process of manipulating (or pre-processing) data (which may come from disparate data sources) to improve their quality or reduce bias in subsequent analysis." ; + rdfs:comment "" ; + rdfs:label "DataPreparation"@en ; + skos:prefLabel "DataPreparation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DataProcessingThroughCalibration +chameo:DataProcessingThroughCalibration rdf:type owl:Class ; + emmo:elucidation "Describes how raw data are corrected and/or modified through calibrations."@en ; + rdfs:comment "" ; + rdfs:label "DataProcessingThroughCalibration"@en ; + skos:prefLabel "DataProcessingThroughCalibration"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DataQuality +chameo:DataQuality rdf:type owl:Class ; + emmo:elucidation "Evaluation of quality indicators to determine how well suited a data set is to be used for the characterisation of a material."@en ; + emmo:example "Example evaluation of S/N ratio, or other quality indicators (limits of detection/quantification, statistical analysis of data, data robustness analysis)"@en ; + rdfs:comment "" ; + rdfs:label "DataQuality"@en ; + skos:prefLabel "DataQuality"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Detector +chameo:Detector rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationHardware ; + emmo:elucidation "Physical device (or the chain of devices) that is used to measure, quantify and store the signal after its interaction with the sample."@en ; + emmo:example "Back Scattered Electrons (BSE) and Secondary Electrons (SE) detectors for SEM"@en , + "Displacement and force sensors for mechanical testing"@en ; + rdfs:comment "" ; + rdfs:label "Detector"@en ; + skos:prefLabel "Detector"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DielectricAndImpedanceSpectroscopy +chameo:DielectricAndImpedanceSpectroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectroscopy ; + emmo:elucidation "Dielectric spectroscopy (DS) or impedance spectroscopy, also known as electrochemical impedance spectroscopy, is frequently used to study the response of a sample subjected to an applied electric field of fixed or changing frequency. DS describes the dielectric properties of a material as a function of frequency. In DS, the radio and microwave frequency regions of the electromagnetic spectrum have been successfully made to interact with materials, so as to study the behavior of molecules. The interaction of applied alternating electric fields with dipoles possessing reorientation mobility in materials is also dealt by DS."@en ; + rdfs:comment "" ; + rdfs:label "DielectricAndImpedanceSpectroscopy"@en ; + skos:prefLabel "DielectricAndImpedanceSpectroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Dielectrometry +chameo:Dielectrometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Electrochemical ; + emmo:elucidation "electrochemical measurement principle based on the measurement of the dielectric constant of a sample resulting from the orientation of particles (molecules or ions) that have a dipole moment in an electric field"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Dielectrometric titrations use dielectrometry for the end-point detection."@en , + "The method is used to monitor the purity of dielectrics, for example to detect small amounts of moisture."@en ; + rdfs:comment "" ; + rdfs:label "Dielectrometry"@en ; + skos:prefLabel "Dielectrometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DifferentialLinearPulseVoltammetry +chameo:DifferentialLinearPulseVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:DifferentialPulseVoltammetry ; + emmo:elucidation "Differential Pulse Voltammetry in which small potential pulses are superimposed onto a linearly varying potential."@en ; + rdfs:comment "" ; + rdfs:label "DifferentialLinearPulseVoltammetry"@en ; + skos:prefLabel "DifferentialLinearPulseVoltammetry"@en . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:DifferentialLinearPulseVoltammetry ; + owl:annotatedProperty emmo:elucidation ; + owl:annotatedTarget "Differential Pulse Voltammetry in which small potential pulses are superimposed onto a linearly varying potential."@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109" + ] . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DifferentialPulseVoltammetry +chameo:DifferentialPulseVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q5275361" ; + emmo:elucidation "voltammetry in which small potential pulses (constant height 10 to 100 mV, constant width 10 to 100 ms) are superimposed onto a linearly varying potential or onto a staircase potential ramp. The current is sampled just before the onset of the pulse (e.g. 10 to 20 ms) and for the same sampling time just before the end of the pulse. The difference between the two sampled currents is plotted versus the potential applied before the pulse. Thus, a differential pulse voltammogram is peak-shaped"@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Differential_pulse_voltammetry"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Differential pulse polarography is differential pulse voltammetry in which a dropping mercury electrode is used as the working electrode. A pulse is applied before the mechani- cally enforced end of the drop and the current is sampled twice: just before the onset of the pulse and just before its end. The pulse width is usually 10 to 20 % of the drop life. The drop dislodgement is synchronized with current sampling, which is carried out as in DPV."@en , + "The ratio of faradaic current to charging current is enhanced and the negative influence of charging current is partially eliminated in the same way as in normal pulse voltammetry (NPV). Moreover, subtraction of the charging current sampled before the application of the pulse further decreases its negative influence. Due to the more enhanced signal (faradaic current) to noise (charging current) ratio, the limit of detection is lower than with NPV."@en , + "The sensitivity of DPV depends on the reversibility of the electrode reaction of the analyte."@en ; + skos:altLabel "DPV"@en ; + rdfs:comment "" ; + rdfs:label "DifferentialPulseVoltammetry"@en ; + skos:prefLabel "DifferentialPulseVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DifferentialRefractiveIndex +chameo:DifferentialRefractiveIndex rdf:type owl:Class ; + rdfs:subClassOf chameo:Optical ; + rdfs:comment "" ; + rdfs:label "DifferentialRefractiveIndex"@en ; + skos:prefLabel "DifferentialRefractiveIndex"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DifferentialScanningCalorimetry +chameo:DifferentialScanningCalorimetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Thermochemical ; + emmo:elucidation "Differential scanning calorimetry (DSC) is a thermoanalytical technique in which the difference in the amount of heat required to increase the temperature of a sample and reference is measured as a function of temperature. Both the sample and reference are maintained at nearly the same temperature throughout the experiment. Generally, the temperature program for a DSC analysis is designed such that the sample holder temperature increases linearly as a function of time. The reference sample should have a well-defined heat capacity over the range of temperatures to be scanned. Additionally, the reference sample must be stable, of high purity, and must not experience much change across the temperature scan. Typically, reference standards have been metals such as indium, tin, bismuth, and lead, but other standards such as polyethylene and fatty acids have been proposed to study polymers and organic compounds, respectively."@en ; + skos:altLabel "DSC" ; + rdfs:comment "" ; + rdfs:label "DifferentialScanningCalorimetry"@en ; + skos:prefLabel "DifferentialScanningCalorimetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DifferentialStaircasePulseVoltammetry +chameo:DifferentialStaircasePulseVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:DifferentialPulseVoltammetry ; + emmo:elucidation "Differential Pulse Voltammetry in which small potential pulses are superimposed onto a staircase potential ramp."@en ; + rdfs:comment "" ; + rdfs:label "DifferentialStaircasePulseVoltammetry"@en ; + skos:prefLabel "DifferentialStaircasePulseVoltammetry"@en . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:DifferentialStaircasePulseVoltammetry ; + owl:annotatedProperty emmo:elucidation ; + owl:annotatedTarget "Differential Pulse Voltammetry in which small potential pulses are superimposed onto a staircase potential ramp."@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109" + ] . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DifferentialThermalAnalysis +chameo:DifferentialThermalAnalysis rdf:type owl:Class ; + rdfs:subClassOf chameo:Thermochemical ; + emmo:elucidation "Differential thermal analysis (DTA) is a thermoanalytic technique that is similar to differential scanning calorimetry. In DTA, the material under study and an inert reference are made to undergo identical thermal cycles, (i.e., same cooling or heating programme) while recording any temperature difference between sample and reference.[1] This differential temperature is then plotted against time, or against temperature (DTA curve, or thermogram). Changes in the sample, either exothermic or endothermic, can be detected relative to the inert reference. Thus, a DTA curve provides data on the transformations that have occurred, such as glass transitions, crystallization, melting and sublimation. The area under a DTA peak is the enthalpy change and is not affected by the heat capacity of the sample."@en ; + skos:altLabel "DTA" ; + rdfs:comment "" ; + rdfs:label "DifferentialThermalAnalysis"@en ; + skos:prefLabel "DifferentialThermalAnalysis"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Dilatometry +chameo:Dilatometry rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "Dilatometry is a method for characterising the dimensional changes of materials with variation of temperature conditions."@en ; + rdfs:seeAlso "https://www.lboro.ac.uk/research/lmcc/facilities/dilatometry/#:~:text=Dilatometry%20is%20a%20method%20for,to%20mimic%20an%20industrial%20process." ; + rdfs:comment "" ; + rdfs:label "Dilatometry"@en ; + skos:prefLabel "Dilatometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DirectCoulometryAtControlledCurrent +chameo:DirectCoulometryAtControlledCurrent rdf:type owl:Class ; + rdfs:subClassOf chameo:Coulometry ; + emmo:elucidation "coulometry at an imposed, constant current in the electrochemical cell"@en ; + rdfs:comment "Direct coulometry at controlled current is usually carried out in convective mass transfer mode. The end-point of the electrolysis, at which the current is stopped, must be determined either from the inflection point in the E–t curve or by using visual or objective end-point indi- cation, similar to volumetric methods. The total electric charge is calculated as the product of the constant current and time of electrolysis or can be measured directly using a coulometer."@en , + "The advantage of this method is that the electric charge consumed during the electrode reaction is directly proportional to the electrolysis time. Care must be taken to avoid the potential region where another electrode reaction may occur."@en ; + rdfs:comment "" ; + rdfs:label "DirectCoulometryAtControlledCurrent"@en ; + skos:prefLabel "DirectCoulometryAtControlledCurrent"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DirectCoulometryAtControlledPotential +chameo:DirectCoulometryAtControlledPotential rdf:type owl:Class ; + rdfs:subClassOf chameo:Coulometry ; + emmo:elucidation "coulometry at a preselected constant potential of the working electrode"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Direct coulometry at controlled potential is usually carried out in convective mass trans- fer mode using a large surface working electrode. Reference and auxiliary electrodes are placed in separate compartments. The total electric charge is obtained by integration of the I–t curve or can be measured directly using a coulometer."@en , + "In principle, the end point at which I = 0, i.e. when the concentration of species under study becomes zero, can be reached only at infinite time. However, in practice, the electrolysis is stopped when the current has decayed to a few percent of the initial value and the charge passed at infinite time is calculated from a plot of charge Q(t) against time t. For a simple system under diffusion control Qt= Q∞[1 − exp(−DAt/Vδ)], where Q∞ = limt→∞Q(t) is the total charge passed at infinite time, D is the diffusion coefficient of the electroactive species, A the electrode area, δ the diffusion layer thickness, and V the volume of the solution."@en ; + rdfs:comment "" ; + rdfs:label "DirectCoulometryAtControlledPotential"@en ; + skos:prefLabel "DirectCoulometryAtControlledPotential"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DynamicLightScattering +chameo:DynamicLightScattering rdf:type owl:Class ; + rdfs:subClassOf chameo:Optical ; + emmo:elucidation "Dynamic light scattering (DLS) is a technique in physics that can be used to determine the size distribution profile of small particles in suspension or polymers in solution. In the scope of DLS, temporal fluctuations are usually analyzed using the intensity or photon auto-correlation function (also known as photon correlation spectroscopy - PCS or quasi-elastic light scattering - QELS)."@en ; + skos:altLabel "DLS" ; + rdfs:comment "" ; + rdfs:label "DynamicLightScattering"@en ; + skos:prefLabel "DynamicLightScattering"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DynamicMechanicalAnalysis +chameo:DynamicMechanicalAnalysis rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + emmo:elucidation "Dynamic mechanical analysis (abbreviated DMA) is a characterisation technique where a sinusoidal stress is applied and the strain in the material is measured, allowing one to determine the complex modulus. The temperature of the sample or the frequency of the stress are often varied, leading to variations in the complex modulus; this approach can be used to locate the glass transition temperature[1] of the material, as well as to identify transitions corresponding to other molecular motions."@en ; + rdfs:comment "" ; + rdfs:label "DynamicMechanicalAnalysis"@en ; + skos:prefLabel "DynamicMechanicalAnalysis"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#DynamicMechanicalSpectroscopy +chameo:DynamicMechanicalSpectroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectroscopy ; + emmo:elucidation "Dynamic Mechanical Analysis (DMA) is a material characterization technique where a small deformation is applied to a sample in a cyclic manner. This allows measurement of the materials response to stress, temperature, frequency or time. The term is also used to refer to the analyzer that performs the test."@en ; + skos:altLabel "DMA" ; + rdfs:comment "" ; + rdfs:label "DynamicMechanicalSpectroscopy"@en ; + skos:prefLabel "DynamicMechanicalSpectroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Electrochemical +chameo:Electrochemical rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "In electrochemical characterization, the measurement of potential, charge, or current is used to determine an analyte's concentration or to characterize an analyte's chemical reactivity"@en ; + rdfs:seeAlso "http://dx.doi.org/10.1016/B978-0-323-46140-5.00002-9" ; + rdfs:comment "" ; + rdfs:label "Electrochemical"@en ; + skos:prefLabel "Electrochemical"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ElectrochemicalImpedanceSpectroscopy +chameo:ElectrochemicalImpedanceSpectroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Impedimetry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q3492904"@en ; + emmo:elucidation "electrochemical measurement method of the complex impedance of an electrochemical system as a function of the frequency of a small amplitude (normally 5 to 10 mV) sinusoidal voltage perturbation superimposed on a fixed value of applied potential or on the open circuit potential"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Impedimetric sensors are based on measurement of a concentration-dependent parameter taken from analysis of the respective electrochemical impedance spectra, or from the impedance magnitudes at a chosen fixed frequency."@en , + "The sinusoidal current response lags behind the sinusoidal voltage perturbation by a phase angle φ. Resistances (e.g. to charge transfer) give a response in phase with the voltage perturbation; capacitances (e.g. double layer) give a response 90° out of phase; combinations of resistances and capacitances give phase angles between 0 and 90°. Plots of the out of phase vs. the in phase component of the impedance for all the frequencies tested are called complex plane (or Nyquist) plots. Plots of the phase angle and the magnitude of the impedance vs. the logarithm of perturbation frequency are called Bode diagrams. Complex plane plots are the more commonly used for electrochemical sensors."@en ; + skos:altLabel "EIS"@en ; + rdfs:comment "" ; + rdfs:label "ElectrochemicalImpedanceSpectroscopy"@en ; + skos:prefLabel "ElectrochemicalImpedanceSpectroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ElectrochemicalPiezoelectricMicrogravimetry +chameo:ElectrochemicalPiezoelectricMicrogravimetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Electrogravimetry ; + emmo:elucidation "Electrogravimetry using an electrochemical quartz crystal microbalance."@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "The change of mass is, for rigid deposits, linearly proportional to the change of the reso- nance frequency of the quartz crystal, according to the Sauerbrey equation. For non- rigid deposits, corrections must be made."@en ; + rdfs:comment "" ; + rdfs:label "ElectrochemicalPiezoelectricMicrogravimetry"@en ; + skos:prefLabel "ElectrochemicalPiezoelectricMicrogravimetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Electrogravimetry +chameo:Electrogravimetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Electrochemical ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q902953" ; + emmo:IEVReference "https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=114-04-14"@en ; + emmo:elucidation "method of electroanalytical chemistry used to separate by electrolyse ions of a substance and to derive the amount of this substance from the increase in mass of an electrode."@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Electrogravimetry"@en ; + rdfs:comment "" ; + rdfs:label "Electrogravimetry"@en ; + skos:prefLabel "Electrogravimetry"@en . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:Electrogravimetry ; + owl:annotatedProperty emmo:elucidation ; + owl:annotatedTarget "method of electroanalytical chemistry used to separate by electrolyse ions of a substance and to derive the amount of this substance from the increase in mass of an electrode."@en ; + dcterms:source "International Electrotechnical Commission (IEC), IEC 60050 - International Electrotechnical Vocabulary, retrieved from: https://www.electropedia.org" + ] . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ElectronBackscatterDiffraction +chameo:ElectronBackscatterDiffraction rdf:type owl:Class ; + rdfs:subClassOf chameo:ScanningElectronMicroscopy , + chameo:ScatteringAndDiffraction ; + emmo:elucidation "Electron backscatter diffraction (EBSD) is a scanning electron microscopy (SEM) technique used to study the crystallographic structure of materials. EBSD is carried out in a scanning electron microscope equipped with an EBSD detector comprising at least a phosphorescent screen, a compact lens and a low-light camera. In this configuration, the SEM incident beam hits the tilted sample. As backscattered electrons leave the sample, they interact with the crystal's periodic atomic lattice planes and diffract according to Bragg's law at various scattering angles before reaching the phosphor screen forming Kikuchi patterns (EBSPs). EBSD spatial resolution depends on many factors, including the nature of the material under study and the sample preparation. Thus, EBSPs can be indexed to provide information about the material's grain structure, grain orientation, and phase at the micro-scale. EBSD is applied for impurities and defect studies, plastic deformation, and statistical analysis for average misorientation, grain size, and crystallographic texture. EBSD can also be combined with energy-dispersive X-ray spectroscopy (EDS), cathodoluminescence (CL), and wavelength-dispersive X-ray spectroscopy (WDS) for advanced phase identification and materials discovery."@en ; + skos:altLabel "EBSD" ; + rdfs:comment "" ; + rdfs:label "ElectronBackscatterDiffraction"@en ; + skos:prefLabel "ElectronBackscatterDiffraction"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ElectronProbeMicroanalysis +chameo:ElectronProbeMicroanalysis rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Electron probe microanalysis (EPMA) is used for quantitative analysis of the elemental composition of solid specimens at a micrometer scale. The method uses bombardment of the specimen by keV electrons to excite characteristic X-rays from the sample, which are then detected by using wavelength-dispersive (WD) spectrometers."@en ; + rdfs:comment "" ; + rdfs:label "ElectronProbeMicroanalysis"@en ; + skos:prefLabel "ElectronProbeMicroanalysis"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Ellipsometry +chameo:Ellipsometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Optical ; + emmo:elucidation """Ellipsometry is an optical technique that uses polarised light to probe the dielectric +properties of a sample (optical system). The common application of ellipsometry is +the analysis of thin films. Through the analysis of the state of polarisation of the +light that is reflected from the sample, ellipsometry yields information on the layers that are thinner than the wavelength of the light itself, down to a single atomic +layer or less. Depending on what is already known about the sample, the technique +can probe a range of properties including layer thickness, morphology, and chemical composition."""@en ; + rdfs:comment "" ; + rdfs:label "Ellipsometry"@en ; + skos:prefLabel "Ellipsometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#EnvironmentalScanningElectronMicroscopy +chameo:EnvironmentalScanningElectronMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "The environmental scanning electron microscope (ESEM) is a scanning electron microscope (SEM) that allows for the option of collecting electron micrographs of specimens that are wet, uncoated, or both by allowing for a gaseous environment in the specimen chamber."@en ; + rdfs:comment "" ; + rdfs:label "EnvironmentalScanningElectronMicroscopy"@en ; + skos:prefLabel "EnvironmentalScanningElectronMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Exafs +chameo:Exafs rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectroscopy ; + emmo:elucidation """Extended X-ray absorption fine structure (EXAFS), along with X-ray absorption near edge structure (XANES), is a subset of X-ray absorption spectroscopy (XAS). Like other absorption spectroscopies, XAS techniques follow Beer's law. The X-ray absorption coefficient of a material as a function of energy is obtained by directing X-rays of a narrow energy range at a sample, while recording the incident and transmitted x-ray intensity, as the incident x-ray energy is incremented. +When the incident x-ray energy matches the binding energy of an electron of an atom within the sample, the number of x-rays absorbed by the sample increases dramatically, causing a drop in the transmitted x-ray intensity. This results in an absorption edge. Every element has a set of unique absorption edges corresponding to different binding energies of its electrons, giving XAS element selectivity. XAS spectra are most often collected at synchrotrons because of the high intensity of synchrotron X-ray sources allow the concentration of the absorbing element to reach as low as a few parts per million. Absorption would be undetectable if the source is too weak. Because X-rays are highly penetrating, XAS samples can be gases, solids or liquids."""@en ; + rdfs:comment "" ; + rdfs:label "Exafs"@en ; + skos:prefLabel "Exafs"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#FatigueTesting +chameo:FatigueTesting rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + emmo:elucidation "Fatigue testing is a specialised form of mechanical testing that is performed by applying cyclic loading to a coupon or structure. These tests are used either to generate fatigue life and crack growth data, identify critical locations or demonstrate the safety of a structure that may be susceptible to fatigue."@en ; + rdfs:comment "" ; + rdfs:label "FatigueTesting"@en ; + skos:prefLabel "FatigueTesting"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#FibDic +chameo:FibDic rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + emmo:elucidation "The FIB-DIC (Focused Ion Beam - Digital Image Correlation) ring-core technique is a powerful method for measuring residual stresses in materials. It is based on milling a ring-shaped sample, or core, from the material of interest using a focused ion beam (FIB)."@en ; + skos:altLabel "FIBDICResidualStressAnalysis" ; + rdfs:comment "" ; + rdfs:label "FibDic" ; + skos:prefLabel "FibDic" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#FieldEmissionScanningElectronMicroscopy +chameo:FieldEmissionScanningElectronMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Field emission scanning electron microscopy (FE-SEM) is an advanced technology used to capture the microstructure image of the materials. FE-SEM is typically performed in a high vacuum because gas molecules tend to disturb the electron beam and the emitted secondary and backscattered electrons used for imaging."@en ; + skos:altLabel "FE-SEM" ; + rdfs:comment "" ; + rdfs:label "FieldEmissionScanningElectronMicroscopy"@en ; + skos:prefLabel "FieldEmissionScanningElectronMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Fractography +chameo:Fractography rdf:type owl:Class ; + rdfs:subClassOf chameo:Optical ; + emmo:elucidation "Fractography is the study of fracture surfaces in order to determine the relation between the microstructure and the mechanism(s) of crack initiation and propagation and, eventually, the root cause of the fracture .Fractography qualitatively interprets the mechanisms of fracture that occur in a sample by microscopic examination of fracture surface morpholog."@en ; + rdfs:comment "" ; + rdfs:label "Fractography"@en ; + skos:prefLabel "Fractography"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#FreezingPointDepressionOsmometry +chameo:FreezingPointDepressionOsmometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Osmometry ; + emmo:elucidation "The general principle of freezing point depression osmometry involves the relationship between the number of moles of dissolved solute in a solution and the change in freezing point."@en ; + rdfs:comment "" ; + rdfs:label "FreezingPointDepressionOsmometry"@en ; + skos:prefLabel "FreezingPointDepressionOsmometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#GITT +chameo:GITT rdf:type owl:Class ; + rdfs:subClassOf chameo:Chronopotentiometry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q120906986" ; + emmo:elucidation "electrochemical method that applies current pulses to an electrochemical cell at rest and measures the voltage response"@en ; + skos:altLabel "GalvanostaticIntermittentTitrationTechnique"@en ; + rdfs:comment "" ; + rdfs:label "GITT"@en ; + skos:prefLabel "GITT"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#GammaSpectrometry +chameo:GammaSpectrometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectrometry ; + emmo:elucidation """Gamma-ray spectroscopy is the qualitative study of the energy spectra of gamma-ray sources, such as in the nuclear industry, geochemical investigation, and astrophysics.[1] Gamma-ray spectrometry, on the other hand, is the method used to acquire a quantitative spectrum measurement.[2] + +Most radioactive sources produce gamma rays, which are of various energies and intensities. When these emissions are detected and analyzed with a spectroscopy system, a gamma-ray energy spectrum can be produced. + +A detailed analysis of this spectrum is typically used to determine the identity and quantity of gamma emitters present in a gamma source, and is a vital tool in radiometric assay. The gamma spectrum is characteristic of the gamma-emitting nuclides contained in the source, just like in an optical spectrometer, the optical spectrum is characteristic of the material contained in a sample."""@en ; + rdfs:comment "" ; + rdfs:label "GammaSpectrometry"@en ; + skos:prefLabel "GammaSpectrometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#HPPC +chameo:HPPC rdf:type owl:Class ; + rdfs:subClassOf chameo:Chronopotentiometry ; + emmo:elucidation "electrochemical method that measures the voltage drop of a cell resulting from a square wave current load"@en ; + skos:altLabel "HybridPulsePowerCharacterisation"@en , + "HybridPulsePowerCharacterization"@en ; + rdfs:comment "" ; + rdfs:label "HPPC"@en ; + skos:prefLabel "HPPC"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#HardnessTesting +chameo:HardnessTesting rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + emmo:elucidation "A test to determine the resistance a material exhibits to permanent deformation by penetration of another harder material."@en ; + rdfs:comment "" ; + rdfs:label "HardnessTesting"@en ; + skos:prefLabel "HardnessTesting"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Hazard +chameo:Hazard rdf:type owl:Class ; + rdfs:subClassOf emmo:Property ; + emmo:elucidation "Set of inherent properties of a substance, mixture of substances, or a process involving substances that, under production, usage, or disposal conditions, make it capable of causing adverse effects to organisms or the environment, depending on the degree of exposure; in other words, it is a source of danger."@en ; + rdfs:comment "" ; + rdfs:label "Hazard"@en ; + skos:prefLabel "Hazard"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Holder +chameo:Holder rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationHardware ; + emmo:elucidation "An object which supports the specimen in the correct position for the characterisation process."@en ; + rdfs:comment "" ; + rdfs:label "Holder"@en ; + skos:prefLabel "Holder"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#HydrodynamicVoltammetry +chameo:HydrodynamicVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q17028237" ; + emmo:elucidation "voltammetry with forced flow of the solution towards the electrode surface"@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Hydrodynamic_voltammetry"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "A linear potential scan, at sufficiently slow scan rates so as to ensure a steady state response, is usually applied."@en , + "Mass transport of a redox species enhanced by convection in this way results in a greater electric current. Convective mass transfer occurs up to the diffusion-limiting layer, within which the mass transfer is controlled by diffusion. Electroactive substance depletion outside the diffusion layer is annulled by convective mass transfer, which results in steady- state sigmoidal wave-shaped current-potential curves."@en , + "The forced flow can be accomplished by movement either of the solution (solution stirring, or channel flow), or of the electrode (electrode rotation or vibration)."@en ; + rdfs:comment "" ; + rdfs:label "HydrodynamicVoltammetry"@en ; + skos:prefLabel "HydrodynamicVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ICI +chameo:ICI rdf:type owl:Class ; + rdfs:subClassOf chameo:Chronopotentiometry ; + emmo:elucidation "electrochemical method that measures the voltage response of an electrochemical cell under galvanostatic conditions to short interruptions in the current"@en ; + skos:altLabel "IntermittentCurrentInterruptionMethod"@en ; + rdfs:comment "" ; + rdfs:label "ICI"@en ; + skos:prefLabel "ICI"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Impedimetry +chameo:Impedimetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Electrochemical ; + emmo:elucidation "measurement principle in which the complex electric impedance of a system is measured, usually as a function of a small amplitude sinusoidal electrode potential"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "" ; + rdfs:label "Impedimetry"@en ; + skos:prefLabel "Impedimetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#InteractionVolume +chameo:InteractionVolume rdf:type owl:Class ; + rdfs:subClassOf emmo:Object ; + emmo:elucidation "The volume of material, and the surrounding environment, that interacts with the probe and generate a detectable (measurable) signal (information)."@en ; + emmo:example "In Scanning Electron Microscopy (SEM), the interaction volume is the volume of material that interacts directly with the incident electron beam, is usually much smaller than the entire specimen’s volume, and can be computed by using proper models. The interaction between the scanning probe and the sample generates a series of detectable signals (back scattered electrons, secondary electrons, x-rays, specimen current, etc.) which contain information on sample morphology, microstructure, composition, etc."@en , + "In x-ray diffraction, the interaction volume is the volume of material that interacts directly with the x-ray beam and is usually smaller than the volume of the entire specimen. Depending on sample’s structure and microstructure, the interaction between the sample and the x-ray incident beam generates a secondary (reflected) beam that is measured by a detector and contains information on certain sample’s properties (e.g., crystallographic structure, phase composition, grain size, residual stress, …)."@en ; + emmo:comment "In some cases, (like tribological characterisations) the “sample” can also be the “probe”. When analysing a system of samples that interact each other, finding a clear definition can become a complex problem."@en , + "It is important to note that, in some cases, the volume of interaction could be different from the volume of detectable signal emission. Example: in Scanning Electron Microscopy (SEM), the volume of interaction between the electron probe and the material is different from the volumes that generate the captured signal."@en ; + rdfs:comment "" ; + rdfs:label "InteractionVolume"@en ; + skos:prefLabel "InteractionVolume"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#IntermediateSample +chameo:IntermediateSample rdf:type owl:Class ; + rdfs:subClassOf chameo:Sample ; + rdfs:comment "" ; + rdfs:label "IntermediateSample"@en ; + skos:prefLabel "IntermediateSample"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#IonChromatography +chameo:IonChromatography rdf:type owl:Class ; + rdfs:subClassOf chameo:Chromatography ; + emmo:elucidation "Ion chromatography (or ion-exchange chromatography) is a form of chromatography that separates ions and ionizable polar molecules based on their affinity to the ion exchanger."@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Ion_chromatography" ; + rdfs:comment "" ; + rdfs:label "IonChromatography"@en ; + skos:prefLabel "IonChromatography"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#IonMobilitySpectrometry +chameo:IonMobilitySpectrometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectrometry ; + emmo:elucidation "Ion mobility spectrometry (IMS) It is a method of conducting analytical research that separates and identifies ionized molecules present in the gas phase based on the mobility of the molecules in a carrier buffer gas. Even though it is used extensively for military or security objectives, such as detecting drugs and explosives, the technology also has many applications in laboratory analysis, including studying small and big biomolecules. IMS instruments are extremely sensitive stand-alone devices, but are often coupled with mass spectrometry, gas chromatography or high-performance liquid chromatography in order to achieve a multi-dimensional separation. They come in various sizes, ranging from a few millimeters to several meters depending on the specific application, and are capable of operating under a broad range of conditions. IMS instruments such as microscale high-field asymmetric-waveform ion mobility spectrometry can be palm-portable for use in a range of applications including volatile organic compound (VOC) monitoring, biological sample analysis, medical diagnosis and food quality monitoring."@en ; + skos:altLabel "IMS" ; + rdfs:comment "" ; + rdfs:label "IonMobilitySpectrometry"@en ; + skos:prefLabel "IonMobilitySpectrometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#IsothermalMicrocalorimetry +chameo:IsothermalMicrocalorimetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Thermochemical ; + emmo:elucidation """Isothermal microcalorimetry (IMC) is a laboratory method for real-time monitoring and dynamic analysis of chemical, physical and biological processes. Over a period of hours or days, IMC determines the onset, rate, extent and energetics of such processes for specimens in small ampoules (e.g. 3–20 ml) at a constant set temperature (c. 15 °C–150 °C). + +IMC accomplishes this dynamic analysis by measuring and recording vs. elapsed time the net rate of heat flow (μJ/s = μW) to or from the specimen ampoule, and the cumulative amount of heat (J) consumed or produced."""@en ; + skos:altLabel "IMC" ; + rdfs:comment "" ; + rdfs:label "IsothermalMicrocalorimetry"@en ; + skos:prefLabel "IsothermalMicrocalorimetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Laboratory +chameo:Laboratory rdf:type owl:Class ; + emmo:elucidation "The laboratory where the whole characterisation process or some of its stages take place." ; + rdfs:comment "" ; + rdfs:label "Laboratory" ; + skos:prefLabel "Laboratory" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#LevelOfAutomation +chameo:LevelOfAutomation rdf:type owl:Class ; + rdfs:subClassOf emmo:NominalProperty ; + emmo:elucidation "Describes the level of automation of the test."@en ; + rdfs:comment "" ; + rdfs:label "LevelOfAutomation"@en ; + skos:prefLabel "LevelOfAutomation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#LevelOfExpertise +chameo:LevelOfExpertise rdf:type owl:Class ; + rdfs:subClassOf emmo:NominalProperty ; + emmo:elucidation "Describes the level of expertise required to carry out a process (the entire test or the data processing)."@en ; + rdfs:comment "" ; + rdfs:label "LevelOfExpertise"@en ; + skos:prefLabel "LevelOfExpertise"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#LightScattering +chameo:LightScattering rdf:type owl:Class ; + rdfs:subClassOf chameo:Optical ; + emmo:elucidation "Light scattering is the way light behaves when it interacts with a medium that contains particles or the boundary between different mediums where defects or structures are present. It is different than the effects of refraction, where light undergoes a change in index of refraction as it passes from one medium to another, or reflection, where light reflects back into the same medium, both of which are governed by Snell’s law. Light scattering can be caused by factors such as the nature, texture, or specific structures of a surface and the presence of gas, liquid, or solid particles through which light propagates, as well as the nature of the light itself, of its wavelengths and polarization states. It usually results in diffuse light and can also affect the dispersion of color."@en ; + rdfs:comment "" ; + rdfs:label "LightScattering"@en ; + skos:prefLabel "LightScattering"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#LinearChronopotentiometry +chameo:LinearChronopotentiometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Chronopotentiometry ; + emmo:elucidation "chronopotentiometry where the applied current is changed linearly"@en ; + rdfs:comment "" ; + rdfs:label "LinearChronopotentiometry"@en ; + skos:prefLabel "LinearChronopotentiometry"@en . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:LinearChronopotentiometry ; + owl:annotatedProperty emmo:elucidation ; + owl:annotatedTarget "chronopotentiometry where the applied current is changed linearly"@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109." + ] . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#LinearScanVoltammetry +chameo:LinearScanVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q620700" ; + emmo:elucidation "Voltammetry in which the current is recorded as the electrode potential is varied linearly with time."@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Linear_sweep_voltammetry"^^xsd:anyURI ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "LSV corresponds to the first half cycle of cyclic voltammetry."@en , + "The peak current is expressed by the Randles-Ševčík equation."@en , + "The scan is usually started at a potential where no electrode reaction occurs."@en ; + skos:altLabel "LSV"@en , + "LinearPolarization"@en , + "LinearSweepVoltammetry"@en ; + rdfs:comment "" ; + rdfs:label "LinearScanVoltammetry"@en ; + skos:prefLabel "LinearScanVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#MassSpectrometry +chameo:MassSpectrometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectrometry ; + emmo:elucidation "Mass spectrometry is a powerful analytical technique used to quantify known materials, to identify unknown compounds within a sample, and to elucidate the structure and chemical properties of different molecules."@en ; + rdfs:comment "" ; + rdfs:label "MassSpectrometry"@en ; + skos:prefLabel "MassSpectrometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#MeasurementDataPostProcessing +chameo:MeasurementDataPostProcessing rdf:type owl:Class ; + rdfs:subClassOf chameo:DataPostProcessing ; + emmo:elucidation "Application of a post-processing model to signals through a software, in order to calculate the final characterisation property."@en ; + emmo:example "Analysis of SEM (or optical) images to gain additional information (image filtering/integration/averaging, microstructural analysis, grain size evaluation, Digital Image Correlation procedures, etc.)"@en , + "In nanoindentation testing, this is the Oliver-Pharr method, which allows calculating the elastic modulus and hardness of the sample by using the load and depth measured signals."@en ; + rdfs:comment "" ; + rdfs:label "MeasurementDataPostProcessing"@en ; + skos:prefLabel "MeasurementDataPostProcessing"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#MeasurementParameter +chameo:MeasurementParameter rdf:type owl:Class ; + rdfs:subClassOf emmo:Parameter ; + emmo:elucidation "Describes the main input parameters that are needed to acquire the signal"@en ; + rdfs:comment "" ; + rdfs:label "MeasurementParameter"@en ; + skos:prefLabel "MeasurementParameter"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#MeasurementSystemAdjustment +chameo:MeasurementSystemAdjustment rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationProcedure ; + emmo:definition """Set of operations carried out on a measuring system so that it provides prescribed indications corresponding to given values of a quantity being measured +NOTE 1 If there is any doubt that the context in which the term is being used is that of metrology, the long form +“adjustment of a measuring system” might be used. +NOTE 2 Types of adjustment of a measuring system include zero adjustment, offset adjustment, and span adjustment +(sometimes called “gain adjustment”). +NOTE 3 Adjustment of a measuring system should not be confused with calibration, which is sometimes a prerequisite +for adjustment. +NOTE 4 After an adjustment of a measuring system, the measuring system must usually be recalibrated. + +-- International Vocabulary of Metrology(VIM)"""@en ; + emmo:elucidation """Activity which has the goal of adjusting/tuning a measing instrument, without performing a measurement on a reference sample (which is a calibration). +The output of this process can be a specific measurement parameter to be used in the characteriasation measurement process."""@en ; + emmo:VIMTerm "Adjustment"@en ; + rdfs:comment "" ; + rdfs:label "MeasurementSystemAdjustment" ; + skos:prefLabel "MeasurementSystemAdjustment" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#MeasurementTime +chameo:MeasurementTime rdf:type owl:Class ; + rdfs:subClassOf emmo:Property ; + emmo:elucidation "The overall time needed to acquire the measurement data"@en ; + rdfs:comment "" ; + rdfs:label "MeasurementTime"@en ; + skos:prefLabel "MeasurementTime"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Mechanical +chameo:Mechanical rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation """Mechanical testing covers a wide range of tests, which can be divided broadly into two types: +1. those that aim to determine a material's mechanical properties, independent of geometry. +2. those that determine the response of a structure to a given action, e.g. testing of composite beams, aircraft structures to destruction, etc."""@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Mechanical_testing" ; + rdfs:comment "" ; + rdfs:label "Mechanical"@en ; + skos:prefLabel "Mechanical"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#MembraneOsmometry +chameo:MembraneOsmometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Osmometry ; + emmo:elucidation "In the membrane osmometry technique, a pure solvent and polymer solution are separated by a semipermeable membrane, due to the higher chemical potential of the solvent in the pure solvent than in polymer solution, the solvent starts moving towards the polymer solution."@en ; + rdfs:comment "" ; + rdfs:label "MembraneOsmometry"@en ; + skos:prefLabel "MembraneOsmometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Microscopy +chameo:Microscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "Microscopy is a category of characterization techniques which probe and map the surface and sub-surface structure of a material. These techniques can use photons, electrons, ions or physical cantilever probes to gather data about a sample's structure on a range of length scales."@en ; + rdfs:comment "" ; + rdfs:label "Microscopy"@en ; + skos:prefLabel "Microscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Nanoindentation +chameo:Nanoindentation rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + emmo:elucidation "Nanoindentation (known also as nanoindentation test) is a method for testing the hardness and related mechanical properties of materials, facilitated by high-precision instrumentation in the nanometer scale, as well as analytical and computational algorithms for result evaluation."@en ; + emmo:example "By definition, when someone performs nanoindentation, it refers to either quasistatic or continuous stiffness measurement. However, in reality with a nanoindenter it is also possible to perform scratch testing, scanning probe microscopy, and apply non-contact surface energy mapping, which can also be called nanoindentation, because they are measurements conducted using an nanoindenter."@en ; + rdfs:comment "" ; + rdfs:label "Nanoindentation"@en ; + skos:prefLabel "Nanoindentation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#NeutronSpinEchoSpectroscopy +chameo:NeutronSpinEchoSpectroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectroscopy ; + emmo:elucidation "Neutron spin echo spectroscopy is a high resolution inelastic neutron scattering method probing nanosecond dynamics. Neutron spin echo (NSE) spectroscopy uses the precession of neutron spins in a magnetic field to measure the energy transfer at the sample and decouples the energy resolution from beam characteristics like monochromatisation and collimation."@en ; + skos:altLabel "NSE" ; + rdfs:comment "" ; + rdfs:label "NeutronSpinEchoSpectroscopy"@en ; + skos:prefLabel "NeutronSpinEchoSpectroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Nexafs +chameo:Nexafs rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectroscopy ; + emmo:elucidation "Near edge X-ray absorption fine structure (NEXAFS), also known as X-ray absorption near edge structure (XANES), is a type of absorption spectroscopy that indicates the features in the X-ray absorption spectra (XAS) of condensed matter due to the photoabsorption cross section for electronic transitions from an atomic core level to final states in the energy region of 50–100 eV above the selected atomic core level ionization energy, where the wavelength of the photoelectron is larger than the interatomic distance between the absorbing atom and its first neighbour atoms."@en ; + rdfs:comment "" ; + rdfs:label "Nexafs"@en ; + skos:prefLabel "Nexafs"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#NormalPulseVoltammetry +chameo:NormalPulseVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:elucidation "voltammetry in which potential pulses of amplitude increasing by a constant increment and with a pulse width of 2 to 200 ms are superimposed on a constant initial potential"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Normal pulse polarography is NPV in which a dropping mercury electrode is used as the working electrode. A pulse is applied just before the mechanically enforced end of the drop. The pulse width is usually 10 to 20 % of the drop time. The drop dislodgment is synchro- nized with current sampling, which is carried out just before the end of the pulse, as in NPV."@en , + "Sigmoidal wave-shaped voltammograms are obtained."@en , + "The current is sampled at the end of the pulse and then plotted versus the potential of the pulse."@en , + "The current is sampled just before the end of the pulse, when the charging current is greatly diminished. In this way, the ratio of faradaic current to charging current is enhanced and the negative influence of charging current is partially eliminated. Due to the improved signal (faradaic current) to noise (charging current) ratio, the limit of detec- tion is lowered."@en , + "The sensitivity of NPV is not affected by the reversibility of the electrode reaction of the analyte."@en ; + skos:altLabel "NPV"@en ; + rdfs:comment "" ; + rdfs:label "NormalPulseVoltammetry"@en ; + skos:prefLabel "NormalPulseVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#NuclearMagneticResonance +chameo:NuclearMagneticResonance rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectroscopy ; + emmo:elucidation "Nuclear magnetic resonance spectroscopy, most commonly known as NMR spectroscopy or magnetic resonance spectroscopy (MRS), is a spectroscopic technique to observe local magnetic fields around atomic nuclei. This spectroscopy is based on the measurement of absorption of electromagnetic radiations in the radio frequency region from roughly 4 to 900 MHz. Absorption of radio waves in the presence of magnetic field is accompanied by a special type of nuclear transition, and for this reason, such type of spectroscopy is known as Nuclear Magnetic Resonance Spectroscopy. The sample is placed in a magnetic field and the NMR signal is produced by excitation of the nuclei sample with radio waves into nuclear magnetic resonance, which is detected with sensitive radio receivers. The intramolecular magnetic field around an atom in a molecule changes the resonance frequency, thus giving access to details of the electronic structure of a molecule and its individual functional groups. As the fields are unique or highly characteristic to individual compounds, in modern organic chemistry practice, NMR spectroscopy is the definitive method to identify monomolecular organic compounds."@en ; + skos:altLabel "Magnetic resonance spectroscopy (MRS)" , + "NMR" ; + rdfs:comment "" ; + rdfs:label "NuclearMagneticResonance"@en ; + skos:prefLabel "NuclearMagneticResonance"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#OpenCircuitHold +chameo:OpenCircuitHold rdf:type owl:Class ; + rdfs:subClassOf chameo:Potentiometry ; + emmo:elucidation "a process in which the electric current is kept constant at 0 (i.e., open-circuit conditions)"@en ; + skos:altLabel "OCVHold"@en ; + rdfs:comment "" ; + rdfs:label "OpenCircuitHold"@en ; + skos:prefLabel "OpenCircuitHold"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Operator +chameo:Operator rdf:type owl:Class ; + rdfs:subClassOf emmo:IntentionalAgent ; + emmo:elucidation "The human operator who takes care of the whole characterisation method or sub-processes/stages."@en ; + rdfs:comment "" ; + rdfs:label "Operator"@en ; + skos:prefLabel "Operator"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Optical +chameo:Optical rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + rdfs:comment "" ; + rdfs:label "Optical"@en ; + skos:prefLabel "Optical"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#OpticalMicroscopy +chameo:OpticalMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Optical microscopy is a technique used to closely view a sample through the magnification of a lens with visible light"@en ; + rdfs:comment "" ; + rdfs:label "OpticalMicroscopy"@en ; + skos:prefLabel "OpticalMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Osmometry +chameo:Osmometry rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "Osmometry is an advanced analytical method for determining the osmotic concentration of solutions. The osmotic – or solute – concentration of a colloidal system is expressed in osmoles (Osm) per unit of volume (Osm/L) or weight (Osm/kg)."@en ; + rdfs:comment "" ; + rdfs:label "Osmometry"@en ; + skos:prefLabel "Osmometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#PhotoluminescenceMicroscopy +chameo:PhotoluminescenceMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Photoluminescence spectroscopy is a widely used technique for characterisation of the optical and electronic properties of semiconductors and molecules."@en ; + rdfs:comment "" ; + rdfs:label "PhotoluminescenceMicroscopy"@en ; + skos:prefLabel "PhotoluminescenceMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#PhysicsOfInteraction +chameo:PhysicsOfInteraction rdf:type owl:Class ; + rdfs:subClassOf [ rdf:type owl:Class ; + owl:unionOf ( emmo:PhysicsEquation + emmo:Theory + ) + ] ; + emmo:elucidation "Set of physics principles (and associated governing equations) that describes the interaction between the sample and the probe."@en ; + emmo:example "In x-ray diffraction, this is represented by the set of physics equations that describe the relation between the incident x-ray beam and the diffracted beam (the most simple form for this being the Bragg’s law)."@en ; + rdfs:comment "" ; + rdfs:label "PhysicsOfInteraction"@en ; + skos:prefLabel "PhysicsOfInteraction"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#PostProcessingModel +chameo:PostProcessingModel rdf:type owl:Class ; + rdfs:subClassOf emmo:MathematicalModel ; + emmo:elucidation "Mathematical model used to process data."@en ; + emmo:comment "The PostProcessingModel use is mainly intended to get secondary data from primary data."@en ; + rdfs:comment "" ; + rdfs:label "PostProcessingModel"@en ; + skos:prefLabel "PostProcessingModel"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#PotentiometricStrippingAnalysis +chameo:PotentiometricStrippingAnalysis rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:elucidation "two-step electrochemical measurement in which 1) material is accumulated at an electrode and 2) the material is removed by chemical reaction or electrochemically at constant current with measurement of electrode potential"@en ; + rdfs:comment "historically for the analysis of metal ions, mercury ions were added to the test solution to form a mercury amalgam when reduced. Alternatively, an HMDE or MFE was used and the oxidizing agent added after amalgam formation. However, the toxicity of mercury and its compounds have all but precluded the present-day use of mercury"@en , + "the accumulation is similar to that used in stripping voltammetry"@en , + "the stripping potentiogram shows staircase curves of potential as a function of time. Frequently, the first derivative is displayed (dE/dt=f(t)), as this produces peak-shaped signals. The time between transitions (peaks) is proportional to the concentration of analyte in the test solution"@en , + "the time between changes in potential in step 2 is related to the concentration of analyte in the solution"@en ; + skos:altLabel "PSA"@en ; + rdfs:comment "" ; + rdfs:label "PotentiometricStrippingAnalysis"@en ; + skos:prefLabel "PotentiometricStrippingAnalysis"@en . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:PotentiometricStrippingAnalysis ; + owl:annotatedProperty emmo:elucidation ; + owl:annotatedTarget "two-step electrochemical measurement in which 1) material is accumulated at an electrode and 2) the material is removed by chemical reaction or electrochemically at constant current with measurement of electrode potential"@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109" + ] . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:PotentiometricStrippingAnalysis ; + owl:annotatedProperty rdfs:comment ; + owl:annotatedTarget "historically for the analysis of metal ions, mercury ions were added to the test solution to form a mercury amalgam when reduced. Alternatively, an HMDE or MFE was used and the oxidizing agent added after amalgam formation. However, the toxicity of mercury and its compounds have all but precluded the present-day use of mercury"@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109" + ] . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:PotentiometricStrippingAnalysis ; + owl:annotatedProperty rdfs:comment ; + owl:annotatedTarget "the accumulation is similar to that used in stripping voltammetry"@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109" + ] . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:PotentiometricStrippingAnalysis ; + owl:annotatedProperty rdfs:comment ; + owl:annotatedTarget "the stripping potentiogram shows staircase curves of potential as a function of time. Frequently, the first derivative is displayed (dE/dt=f(t)), as this produces peak-shaped signals. The time between transitions (peaks) is proportional to the concentration of analyte in the test solution"@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109" + ] . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:PotentiometricStrippingAnalysis ; + owl:annotatedProperty rdfs:comment ; + owl:annotatedTarget "the time between changes in potential in step 2 is related to the concentration of analyte in the solution"@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109" + ] . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Potentiometry +chameo:Potentiometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Electrochemical ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q900632" ; + emmo:IEVReference "https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=114-04-12" ; + emmo:elucidation "Potentiometric methods are used to measure the electrochemical potentials of a metallic structure in a given environment."@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "For measurements using ion-selective electrodes, the measurement is made under equi- librium conditions what means that the macroscopic electric current is zero and the con- centrations of all species are uniform throughout the solution. The indicator electrode is in direct contact with the analyte solution, whereas the reference electrode is usually separated from the analyte solution by a salt bridge. The potential difference between the indicator and reference electrodes is normally directly proportional to the logarithm of the activity (concentration) of the analyte in the solution (Nernst equation). See also ion selec- tive electrode."@en , + "Method of electroanalytical chemistry based on measurement of an electrode potential."@en ; + rdfs:comment "" ; + rdfs:label "Potentiometry"@en ; + skos:prefLabel "Potentiometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#PreparedSample +chameo:PreparedSample rdf:type owl:Class ; + rdfs:subClassOf chameo:Sample ; + owl:disjointWith chameo:ReferenceSample ; + emmo:elucidation "The sample after a preparation process."@en ; + rdfs:comment "" ; + rdfs:label "PreparedSample" ; + skos:prefLabel "PreparedSample" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#PrimaryData +chameo:PrimaryData rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationData ; + emmo:elucidation "Data resulting of a pre-processing of raw data, applying corrections to normalize/harmonize, in order to prepare them for the post-processing."@en ; + emmo:example "Baseline subtraction"@en , + "Noise reduction"@en , + "X and Y axes correction"@en ; + rdfs:comment "" ; + rdfs:label "PrimaryData"@en ; + skos:prefLabel "PrimaryData"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Probe +chameo:Probe rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationHardware ; + emmo:elucidation "Probe is the physical tool (i.e., a disturbance, primary solicitation, or a gadget), controlled over time, that generates measurable fields that interact with the sample to acquire information on the specimen’s behaviour and properties."@en ; + emmo:example "In dynamic light scattering, temporal fluctuations of backscattered light due to Brownian motion and flow of nanoparticles are the probe, resolved as function of pathlength in the sample. From fluctuation analysis (intensity correlations) and the wavelength of light in the medium, the (distribution of) diffusion coefficient(s) can be measured during flow. The Stokes-Einstein relation yields the particle size characteristics."@en , + "In electron microscopy (SEM or TEM), the probe is a beam of electrons with known energy that is focused (and scanned) on the sample’s surface with a well-defined beam-size and scanning algorithm."@en , + "In mechanical testing, the probe is a the tip plus a force actuator, which is designed to apply a force over-time on a sample. Many variants can be defined depending on way the force is applied (tensile/compressive uniaxial tests, bending test, indentation test) and its variation with time (static tests, dynamic/cyclic tests, impact tests, etc…)"@en , + "In spectroscopic methods, the probe is a beam of light with pre-defined energy (for example in the case of laser beam for Raman measurements) or pre-defined polarization (for example in the case of light beam for Spectroscopic Ellipsometry methods), that will be properly focused on the sample’s surface with a welldefined geometry (specific angle of incidence)."@en , + "In x-ray diffraction, the probe is a beam of x-rays with known energy that is properly focused on the sample’s surface with a well-defined geometry"@en ; + rdfs:comment "" ; + rdfs:label "Probe"@en ; + skos:prefLabel "Probe"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ProbeSampleInteraction +chameo:ProbeSampleInteraction rdf:type owl:Class ; + rdfs:subClassOf emmo:Process , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasOutput ; + owl:someValuesFrom chameo:Signal + ] ; + emmo:elucidation "Process representing the interaction between the Probe and the Sample (with a certain Interaction Volume) which generates a Signal"@en ; + rdfs:comment "" ; + rdfs:label "ProbeSampleInteraction"@en ; + skos:prefLabel "ProbeSampleInteraction"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ProcessingReproducibility +chameo:ProcessingReproducibility rdf:type owl:Class ; + emmo:elucidation "Description of performed statistical analysis to check for data reproducibility (e.g. easily reproducible for everyone, reproducible for a domain expert, reproducible only for Data processing Expert)"@en ; + rdfs:comment "" ; + rdfs:label "ProcessingReproducibility"@en ; + skos:prefLabel "ProcessingReproducibility"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Profilometry +chameo:Profilometry rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "Profilometry is a technique used to extract topographical data from a surface. This can be a single point, a line scan or even a full three dimensional scan. The purpose of profilometry is to get surface morphology, step heights and surface roughness."@en ; + rdfs:comment "" ; + rdfs:label "Profilometry"@en ; + skos:prefLabel "Profilometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#PulsedElectroacousticMethod +chameo:PulsedElectroacousticMethod rdf:type owl:Class ; + rdfs:subClassOf chameo:ChargeDistribution ; + emmo:elucidation "The pulsed electroacoustic (PEA) method is an established method for space charge measurements in polymeric dielectrics."@en ; + emmo:iupacReference "https://doi.org/10.1007/s10832-023-00332-y" ; + rdfs:comment "" ; + rdfs:label "PulsedElectroacousticMethod"@en ; + skos:prefLabel "PulsedElectroacousticMethod"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#RamanSpectroscopy +chameo:RamanSpectroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectroscopy ; + emmo:elucidation """Raman spectroscopy (/ˈrɑːmən/) (named after physicist C. V. Raman) is a spectroscopic technique typically used to determine vibrational modes of molecules, although rotational and other low-frequency modes of systems may also be observed. Raman spectroscopy is commonly used in chemistry to provide a structural fingerprint by which molecules can be identified. + +Raman spectroscopy relies upon inelastic scattering of photons, known as Raman scattering. A source of monochromatic light, usually from a laser in the visible, near infrared, or near ultraviolet range is used, although X-rays can also be used. The laser light interacts with molecular vibrations, phonons or other excitations in the system, resulting in the energy of the laser photons being shifted up or down. The shift in energy gives information about the vibrational modes in the system. Infrared spectroscopy typically yields similar yet complementary information. + +Typically, a sample is illuminated with a laser beam. Electromagnetic radiation from the illuminated spot is collected with a lens and sent through a monochromator. Elastic scattered radiation at the wavelength corresponding to the laser line (Rayleigh scattering) is filtered out by either a notch filter, edge pass filter, or a band pass filter, while the rest of the collected light is dispersed onto a detector."""@en ; + rdfs:comment "" ; + rdfs:label "RamanSpectroscopy"@en ; + skos:prefLabel "RamanSpectroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#RawData +chameo:RawData rdf:type owl:Class ; + rdfs:subClassOf emmo:MeasurementResult , + chameo:CharacterisationData ; + emmo:elucidation "Direct output of the equipment with the manufacturer’s software including automatic pre-processing that is not modified by the user once the acquisition method is defined and the equipment calibrated."@en , + "The raw data is a set of (unprocessed) data that is given directly as output from the detector, usually expressed as a function of time or position, or photon energy."@en ; + emmo:example "In mechanical testing, examples of raw data are raw-force, raw-displacement, coordinates as function of time."@en , + "In spectroscopic testing, the raw data are light intensity, or refractive index, or optical absorption as a function of the energy (or wavelength) of the incident light beam."@en ; + emmo:comment "In some cases, raw data can be considered to have already some level of data processing, e.g., in electron microscopy a “raw image” that is formed on the screen is already result from multiple processing after the signal is acquired by the detector."@en ; + rdfs:comment "" ; + rdfs:label "RawData"@en ; + skos:prefLabel "RawData"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#RawSample +chameo:RawSample rdf:type owl:Class ; + rdfs:subClassOf chameo:Sample ; + rdfs:comment "" ; + rdfs:label "RawSample"@en ; + skos:prefLabel "RawSample"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ReferenceSample +chameo:ReferenceSample rdf:type owl:Class ; + rdfs:subClassOf chameo:Sample ; + emmo:definition """Material, sufficiently homogeneous and stable with reference to one or more specified properties, which has been established to be fit for its intended use in measurement or in examination +NOTE 1 Reference materials can be certified reference materials or reference materials without a certified property +value. +NOTE 2 For a reference material to be used as a measurement standard for calibration purposes it needs to be a certified reference material. +NOTE 3 Reference materials can be used for measurement precision evaluation and quality control. +EXAMPLE Human serum without an assigned quantity value for the amount-of-substance concentration of the inherent cholesterol, used for quality control. +NOTE 4 Properties of reference materials can be quantities or nominal properties. +NOTE 5 A reference material is sometimes incorporated into a specially fabricated device. +EXAMPLE Spheres of uniform size mounted on a microscope slide. +NOTE 6 Some reference materials have assigned values in a unit outside the SI. Such materials include vaccines to +which International Units (IU) have been assigned by the World Health Organization. +NOTE 7 A given reference material can only be used for one purpose in a measurement, either calibration or quality +control, but not both. +NOTE 8 ISO/REMCO has an analogous definition but uses the term “measurement process” (ISO Guide 30, Reference +materials – Selected terms and definitions, definition 2.1.1) for both measurement and examination. + +-- International Vocabulary of Metrology(VIM)"""@en , + "Quality control sample used to determine accuracy and precision of method. [ISO 17858:2007]"@en ; + emmo:elucidation "Material, sufficiently homogeneous and stable with respect to one or more specified properties, which has been established to be fit for its intended use in a measurement process”."@en ; + emmo:VIMTerm "Reference material"@en ; + rdfs:comment "" ; + skos:altLabel "Certified Reference Material"@en , + "Reference material"@en , + "ReferenceSpecimen" ; + rdfs:comment "" ; + rdfs:label "ReferenceSample"@en ; + skos:prefLabel "ReferenceSample"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Sample +chameo:Sample rdf:type owl:Class ; + rdfs:subClassOf emmo:Object ; + emmo:elucidation "Portion of material selected from a larger quantity of material. The term needs to be qualified, e.g., bulk sample, representative sample, primary sample, bulked sample, test sample, etc. The term 'sample' implies the existence of a sampling error, i.e., the results obtained on the portions taken are only estimates of the concentration of a constituent or the quantity of a property present in the parent material. If there is no or negligible sampling error, the portion removed is a test portion, aliquot, or specimen."@en ; + emmo:comment "Sample and Specime are often used interchangeably. However in some cases the term Specimen is used to specify a portion taken under conditions such that the sampling variability cannot be assessed (usually because the population is changing), and is assumed, for convenience, to be zero." ; + rdfs:comment "" ; + skos:altLabel "Specimen" ; + rdfs:comment "" ; + rdfs:label "Sample"@en ; + skos:prefLabel "Sample"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SampleInspection +chameo:SampleInspection rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationProcedure ; + emmo:elucidation "Analysis of the sample in order to determine information that are relevant for the characterisation method."@en ; + emmo:example "In the Nanoindentation method the Scanning Electron Microscope to determine the indentation area."@en ; + rdfs:comment "" ; + rdfs:label "SampleInspection"@en ; + skos:prefLabel "SampleInspection"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SampleInspectionInstrument +chameo:SampleInspectionInstrument rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationHardware ; + rdfs:comment "" ; + rdfs:label "SampleInspectionInstrument" ; + skos:prefLabel "SampleInspectionInstrument" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SamplePreparation +chameo:SamplePreparation rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationProcedure , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasInput ; + owl:someValuesFrom chameo:Sample + ] , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasInput ; + owl:someValuesFrom chameo:SamplePreparationParameter + ] , + [ rdf:type owl:Restriction ; + owl:onProperty emmo:hasOutput ; + owl:someValuesFrom chameo:Sample + ] ; + emmo:elucidation "Sample preparation processes (e.g., machining, polishing, cutting to size, etc.) before actual observation and measurement."@en ; + rdfs:comment "" ; + rdfs:label "SamplePreparation"@en ; + skos:prefLabel "SamplePreparation"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SamplePreparationHardware +chameo:SamplePreparationHardware rdf:type owl:Class ; + rdfs:subClassOf emmo:ManufacturedProduct ; + emmo:elucidation "Hardware used for the preparation of the sample."@en ; + rdfs:comment "" ; + rdfs:label "SamplePreparationHardware"@en ; + skos:prefLabel "SamplePreparationHardware"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SamplePreparationInstrument +chameo:SamplePreparationInstrument rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationHardware ; + rdfs:comment "" ; + rdfs:label "SamplePreparationInstrument" ; + skos:prefLabel "SamplePreparationInstrument" . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SamplePreparationParameter +chameo:SamplePreparationParameter rdf:type owl:Class ; + rdfs:subClassOf emmo:Parameter ; + emmo:elucidation "Parameter used for the sample preparation process"@en ; + rdfs:comment "" ; + rdfs:label "SamplePreparationParameter"@en ; + skos:prefLabel "SamplePreparationParameter"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SampledDCPolarography +chameo:SampledDCPolarography rdf:type owl:Class ; + rdfs:subClassOf chameo:DCPolarography ; + emmo:elucidation "DC polarography with current sampling at the end of each drop life mechanically enforced by a knocker at a preset drop time value. The current sampling and mechanical drop dislodge are synchronized."@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "In this way, the ratio of faradaic current to double layer charging current is enhanced and the negative influence of charging current is partially eliminated. Due to the improved signal (faradaic current) to noise (charging current) ratio, the limit of detection is lowered."@en ; + skos:altLabel "TASTPolarography"@en ; + rdfs:comment "" ; + rdfs:label "SampledDCPolarography"@en ; + skos:prefLabel "SampledDCPolarography"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SamplingProcess +chameo:SamplingProcess rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationProcedure ; + emmo:elucidation "Act of extracting a portion (amount) of material from a larger quantity of material. This operation results in obtaining a sample representative of the batch with respect to the property or properties being investigated."@en ; + emmo:comment "The term can be used to cover either a unit of supply or a portion for analysis. The portion taken may consist of one or more sub-samples and the batch may be the population from which the sample is taken."@en ; + rdfs:comment "" ; + rdfs:label "SamplingProcess"@en ; + skos:prefLabel "SamplingProcess"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ScanningAugerElectronMicroscopy +chameo:ScanningAugerElectronMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Auger electron spectroscopy (AES or simply Auger) is a surface analysis technique that uses an electron beam to excite electrons on atoms in the particle. Atoms that are excited by the electron beam can emit “Auger” electrons. AES measures the kinetic energies of the emitted electrons. The energy of the emitted electrons is characteristic of elements present at the surface and near the surface of a sample."@en ; + skos:altLabel "AES" ; + rdfs:comment "" ; + rdfs:label "ScanningAugerElectronMicroscopy"@en ; + skos:prefLabel "ScanningAugerElectronMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ScanningElectronMicroscopy +chameo:ScanningElectronMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "The scanning electron microscope (SEM) uses a focused beam of high-energy electrons to generate a variety of signals at the surface of solid specimens. The signals that derive from electron-sample interactions reveal information about the sample including external morphology (texture), chemical composition, and crystalline structure and orientation of materials making up the sample."@en ; + skos:altLabel "SEM" ; + rdfs:comment "" ; + rdfs:label "ScanningElectronMicroscopy"@en ; + skos:prefLabel "ScanningElectronMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ScanningKelvinProbe +chameo:ScanningKelvinProbe rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Scanning Kelvin probe (SKP) and scanning Kelvin probe force microscopy (SKPFM) are probe techniques which permit mapping of topography and Volta potential distribution on electrode surfaces. It measures the surface electrical potential of a sample without requiring an actual physical contact."@en ; + skos:altLabel "SKB" ; + rdfs:comment "" ; + rdfs:label "ScanningKelvinProbe"@en ; + skos:prefLabel "ScanningKelvinProbe"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ScanningProbeMicroscopy +chameo:ScanningProbeMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Scanning probe microscopy (SPM) is a branch of microscopy that forms images of surfaces using a physical probe that scans the specimen."@en ; + rdfs:comment "" ; + rdfs:label "ScanningProbeMicroscopy"@en ; + skos:prefLabel "ScanningProbeMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ScanningTunnelingMicroscopy +chameo:ScanningTunnelingMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Scanning Tunneling Microscopy, or STM, is an imaging technique used to obtain ultra-high resolution images at the atomic scale, without using light or electron beams."@en ; + skos:altLabel "STM" ; + rdfs:comment "" ; + rdfs:label "ScanningTunnelingMicroscopy"@en ; + skos:prefLabel "ScanningTunnelingMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ScatteringAndDiffraction +chameo:ScatteringAndDiffraction rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + rdfs:comment "" ; + rdfs:label "ScatteringAndDiffraction"@en ; + skos:prefLabel "ScatteringAndDiffraction"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SecondaryData +chameo:SecondaryData rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationData ; + emmo:elucidation "Data resulting from the application of post-processing or model generation to other data."@en ; + emmo:example "Deconvoluted curves"@en , + "Intensity maps"@en ; + rdfs:comment "" ; + skos:altLabel "Elaborated data"@en ; + rdfs:comment "" ; + rdfs:label "SecondaryData"@en ; + skos:prefLabel "SecondaryData"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SecondaryIonMassSpectrometry +chameo:SecondaryIonMassSpectrometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectrometry ; + emmo:elucidation "Secondary-ion mass spectrometry (SIMS) is a technique used to analyze the composition of solid surfaces and thin films by sputtering the surface of the specimen with a focused primary ion beam and collecting and analyzing ejected secondary ions."@en ; + skos:altLabel "SIMS" ; + rdfs:comment "" ; + rdfs:label "SecondaryIonMassSpectrometry"@en ; + skos:prefLabel "SecondaryIonMassSpectrometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#ShearOrTorsionTests +chameo:ShearOrTorsionTests rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + rdfs:comment "" ; + rdfs:label "ShearOrTorsionTest"@en ; + skos:prefLabel "ShearOrTorsionTest"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Signal +chameo:Signal rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationData ; + emmo:definition "According to UPAC Compendium of Chemical Terminology, a “signal” is “A representation of a quantity within an analytical instrument” (https://goldbook.iupac.org/terms/view/S05661 )."@en ; + emmo:elucidation "Result (effect) of the interaction between the sample and the probe, which usually is a measurable and quantifiable quantity."@en ; + emmo:comment "Signal is usually emitted from a characteristic “emission” volume, which can be different from the sample/probe “interaction” volume and can be usually quantified using proper physics equations and/or modelling of the interaction mechanisms."@en ; + rdfs:comment "" ; + rdfs:label "Signal"@en ; + skos:prefLabel "Signal"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Spectrometry +chameo:Spectrometry rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "Spectroscopic techniques are numerous and varied, but all involve measuring the response of a material to different frequencies of electromagnetic radiation. Depending on the technique used, material characterization may be based on the absorption, emission, impedance, or reflection of incident energy by a sample."@en ; + rdfs:comment "" ; + rdfs:label "Spectrometry"@en ; + skos:prefLabel "Spectrometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Spectroscopy +chameo:Spectroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "Spectroscopy is a category of characterization techniques which use a range of principles to reveal the chemical composition, composition variation, crystal structure and photoelectric properties of materials."@en ; + rdfs:comment "" ; + rdfs:label "Spectroscopy"@en ; + skos:prefLabel "Spectroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#SquareWaveVoltammetry +chameo:SquareWaveVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q4016323" ; + emmo:elucidation "voltammetry in which a square-wave potential waveform is superimposed on an underlying linearly varying potential ramp or staircase ramp"@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Squarewave_voltammetry"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Most instruments show plots of the current at the end of the forward-going pulse and of the backward-going pulse vs. the potential, as well as their difference. This can give valuable information on the kinetics of the electrode reaction and the electrode process."@en , + "The current is sampled just before the end of the forward- going pulse and of the backward-going pulse and the difference of the two sampled currents is plotted versus the applied potential of the potential or staircase ramp. The square-wave voltammogram is peak-shaped"@en , + "The sensitivity of SWV depends on the reversibility of the electrode reaction of the analyte."@en ; + skos:altLabel "OSWV"@en , + "OsteryoungSquareWaveVoltammetry"@en , + "SWV"@en ; + rdfs:comment "" ; + rdfs:label "SquareWaveVoltammetry"@en ; + skos:prefLabel "SquareWaveVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#StepChronopotentiometry +chameo:StepChronopotentiometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Chronopotentiometry ; + emmo:elucidation "chronopotentiometry where the applied current is changed in steps"@en ; + rdfs:comment "" ; + rdfs:label "StepChronopotentiometry"@en ; + skos:prefLabel "StepChronopotentiometry"@en . + +[ rdf:type owl:Axiom ; + owl:annotatedSource chameo:StepChronopotentiometry ; + owl:annotatedProperty emmo:elucidation ; + owl:annotatedTarget "chronopotentiometry where the applied current is changed in steps"@en ; + dcterms:source "J. M. Pingarrón et al., Terminology of electrochemical methods of analysis (IUPAC Recommendations 2019), Pure and Applied Chemistry, 4, 92, 2020, 641-694. https://doi.org/10.1515/pac-2018-0109." + ] . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#StrippingVoltammetry +chameo:StrippingVoltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Voltammetry ; + emmo:elucidation "two-step electrochemical measurement in which 1) material is accumulated at an electrode and 2) the amount of an accumulated species is measured by voltammetry. The measured electric current in step 2 is related to the concentration of analyte in the solution by calibration."@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Electrochemical_stripping_analysis"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "Anodic stripping voltammetry (ASV) was historically used to measure concentrations of metal ions in solution using cathodic accumulation with mercury to form an amalgam. Due to the toxicity of mercury and its compounds, inductively coupled plasma optical emission spectrometry and inductively coupled plasma mass spectrometry have frequently replaced ASV at mercury electrodes in the laboratory, often sacrificing the probing of speciation and lability in complex matrices. Mercury has now been replaced by non-toxic bismuth or anti- mony as films on a solid electrode support (such as glassy carbon) with equally good sensi- tivity and detection limits."@en , + "Because the accumulation (pre-concentration) step can be prolonged, increasing the amount of material at the electrode, stripping voltammetry is able to measure very small concentrations of analyte."@en , + "Often the product of the electrochemical stripping is identical to the analyte before the accumulation."@en , + "Stripping voltammetry is a calibrated method to establish the relation between amount accumulated in a given time and the concentration of the analyte in solution."@en , + "Types of stripping voltammetry refer to the kind of accumulation (e.g. adsorptive stripping voltammetry) or the polarity of the stripping electrochemistry (anodic, cathodic stripping voltammetry)."@en ; + rdfs:comment "" ; + rdfs:label "StrippingVoltammetry"@en ; + skos:prefLabel "StrippingVoltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Synchrotron +chameo:Synchrotron rdf:type owl:Class ; + rdfs:subClassOf chameo:ScatteringAndDiffraction ; + rdfs:comment "" ; + rdfs:label "Synchrotron"@en ; + skos:prefLabel "Synchrotron"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#TensileTest +chameo:TensileTest rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + emmo:elucidation "Tensile testing, also known as tension testing, is a test in which a sample is subjected to a controlled tension until failure. Properties that are directly measured via a tensile test are ultimate tensile strength, breaking strength, maximum elongation and reduction in area. From these measurements the following properties can also be determined: Young's modulus, Poisson's ratio, yield strength, and strain-hardening characteristics. Uniaxial tensile testing is the most commonly used for obtaining the mechanical characteristics of isotropic materials. Some materials use biaxial tensile testing. The main difference between these testing machines being how load is applied on the materials."@en ; + skos:altLabel "TensionTest" ; + rdfs:comment "" ; + rdfs:label "TensileTest"@en ; + skos:prefLabel "TensileTest"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Thermochemical +chameo:Thermochemical rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "Thermomechanical analysis (TMA) is a technique used in thermal analysis, a branch of materials science which studies the properties of materials as they change with temperature."@en ; + skos:altLabel "TMA" ; + rdfs:comment "" ; + rdfs:label "Thermochemical"@en ; + skos:prefLabel "Thermochemical"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Thermogravimetry +chameo:Thermogravimetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Thermochemical ; + emmo:elucidation "Thermogravimetric analysis or thermal gravimetric analysis (TGA) is a method of thermal analysis in which the mass of a sample is measured over time as the temperature changes. This measurement provides information about physical phenomena, such as phase transitions, absorption, adsorption and desorption; as well as chemical phenomena including chemisorptions, thermal decomposition, and solid-gas reactions (e.g., oxidation or reduction)."@en ; + skos:altLabel "TGA" ; + rdfs:comment "" ; + rdfs:label "Thermogravimetry"@en ; + skos:prefLabel "Thermogravimetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Tomography +chameo:Tomography rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "Tomography is imaging by sections or sectioning that uses any kind of penetrating wave. The method is used in radiology, archaeology, biology, atmospheric science, geophysics, oceanography, plasma physics, materials science, cosmochemistry, astrophysics, quantum information, and other areas of science. The word tomography is derived from Ancient Greek τόμος tomos, \"slice, section\" and γράφω graphō, \"to write\" or, in this context as well, \"to describe.\" A device used in tomography is called a tomograph, while the image produced is a tomogram."@en ; + rdfs:comment "" ; + rdfs:label "Tomography"@en ; + skos:prefLabel "Tomography"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#TransmissionElectronMicroscopy +chameo:TransmissionElectronMicroscopy rdf:type owl:Class ; + rdfs:subClassOf chameo:Microscopy ; + emmo:elucidation "Transmission electron microscopy (TEM) is a microscopy technique in which a beam of electrons is transmitted through a specimen to form an image. The specimen is most often an ultrathin section less than 100 nm thick or a suspension on a grid. An image is formed from the interaction of the electrons with the sample as the beam is transmitted through the specimen. The image is then magnified and focused onto an imaging device, such as a fluorescent screen, a layer of photographic film, or a sensor such as a scintillator attached to a charge-coupled device."@en ; + skos:altLabel "TEM" ; + rdfs:comment "" ; + rdfs:label "TransmissionElectronMicroscopy"@en ; + skos:prefLabel "TransmissionElectronMicroscopy"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Ultrasonic +chameo:Ultrasonic rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation """Ultrasonic testing (UT) is a family of non-destructive testing techniques based on the propagation of ultrasonic waves in the object or material tested. In most common UT applications, very short ultrasonic pulse-waves with center frequencies ranging from 0.1-15 MHz, and occasionally up to 50 MHz, are transmitted into materials to detect internal flaws or to characterize materials. A common example is ultrasonic thickness measurement, which tests the thickness of the test object, for example, to monitor pipework corrosion. + +Ultrasonic testing is often performed on steel and other metals and alloys, though it can also be used on concrete, wood and composites, albeit with less resolution. It is used in many industries including steel and aluminium construction, metallurgy, manufacturing, aerospace, automotive and other transportation sectors."""@en ; + rdfs:comment "" ; + rdfs:label "Ultrasonic"@en ; + skos:prefLabel "Ultrasonic"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#VaporPressureDepressionOsmometry +chameo:VaporPressureDepressionOsmometry rdf:type owl:Class ; + rdfs:subClassOf chameo:Osmometry ; + emmo:elucidation "Vapor pressure osmometry measures vapor pressure indirectly by measuring the change in temperature of a polymer solution on dilution by solvent vapor and is generally useful for polymers with Mn below 10,000–40,000 g/mol. When molecular weight is more than that limit, the quantity being measured becomes very small to detect."@en ; + skos:altLabel "VPO" ; + rdfs:comment "" ; + rdfs:label "VaporPressureDepressionOsmometry"@en ; + skos:prefLabel "VaporPressureDepressionOsmometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Viscometry +chameo:Viscometry rdf:type owl:Class ; + rdfs:subClassOf chameo:CharacterisationMethod ; + emmo:elucidation "Viscometry or viscosity method was one of the first methods used for determining the MW of polymers. In this method, the viscosity of polymer solution is measured, and the simplest method used is capillary viscometry by using the Ubbelohde U-tube viscometer. In this method, both the flow time of the polymer solution (t) and the flow time of the pure solvent (t0) are recorded. The ratio of the polymer solution flow time (t) to the flow time of pure solvent (t0) is equal to the ratio of their viscosities (η/η0) only if they have the same densities."@en ; + skos:altLabel "Viscosity" ; + rdfs:comment "" ; + rdfs:label "Viscometry"@en ; + skos:prefLabel "Viscometry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#Voltammetry +chameo:Voltammetry rdf:type owl:Class ; + rdfs:subClassOf chameo:Electrochemical ; + emmo:wikidataReference "https://www.wikidata.org/wiki/Q904093" ; + emmo:IEVReference "https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=114-04-11" ; + emmo:elucidation "Voltammetry is an analytical technique based on the measure of the current flowing through an electrode dipped in a solution containing electro-active compounds, while a potential scanning is imposed upon it."@en ; + emmo:wikipediaReference "https://en.wikipedia.org/wiki/Voltammetry" ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "The current vs. potential (I-E) curve is called a voltammogram."@en ; + rdfs:comment "" ; + rdfs:label "Voltammetry"@en ; + skos:prefLabel "Voltammetry"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#VoltammetryAtARotatingDiskElectrode +chameo:VoltammetryAtARotatingDiskElectrode rdf:type owl:Class ; + rdfs:subClassOf chameo:HydrodynamicVoltammetry ; + emmo:elucidation "hydrodynamic voltammetry using a a rotating disc electrode, where the limiting current is described by the Levich equation"@en ; + emmo:iupacReference "https://doi.org/10.1515/pac-2018-0109"@en ; + rdfs:comment "" ; + rdfs:label "VoltammetryAtARotatingDiskElectrode"@en ; + skos:prefLabel "VoltammetryAtARotatingDiskElectrode"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#WearTest +chameo:WearTest rdf:type owl:Class ; + rdfs:subClassOf chameo:Mechanical ; + emmo:elucidation """A wear test measures the changes in conditions caused by friction, and the result is obtained from deformation, scratches, and indentations on the interacting surfaces. +Wear is defined as the progressive removal of the material from a solid surface and manifested by a change in the geometry of the surface."""@en ; + rdfs:comment "" ; + rdfs:label "WearTest"@en ; + skos:prefLabel "WearTest"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#XpsVariableKinetic +chameo:XpsVariableKinetic rdf:type owl:Class ; + rdfs:subClassOf chameo:Spectroscopy ; + emmo:elucidation "X-ray photoelectron spectroscopy (XPS), also known as ESCA (electron spectroscopy for chemical analysis) is a surface analysis technique which provides both elemental and chemical state information virtually without restriction on the type of material which can be analysed. It is a relatively simple technique where the sample is illuminated with X-rays which have enough energy to eject an electron from the atom. These ejected electrons are known as photoelectrons. The kinetic energy of these emitted electrons is characteristic of the element from which the photoelectron originated. The position and intensity of the peaks in an energy spectrum provide the desired chemical state and quantitative information. The surface sensitivity of XPS is determined by the distance that that photoelectron can travel through the material without losing any kinteic energy. These elastiaclly scattered photoelectrons contribute to the photoelectron peak, whilst photoelectrons that have been inelastically scattered, losing some kinetic energy before leaving the material, will contribute to the spectral background."@en ; + skos:altLabel "Electron spectroscopy for chemical analysis (ESCA)" , + "X-ray photoelectron spectroscopy (XPS)" ; + rdfs:comment "" ; + rdfs:label "XpsVariableKinetic"@en ; + skos:prefLabel "XpsVariableKinetic"@en . + + +### https://w3id.org/emmo/domain/characterisation-methodology/chameo#XrdGrazingIncidence +chameo:XrdGrazingIncidence rdf:type owl:Class ; + rdfs:subClassOf chameo:ScatteringAndDiffraction ; + rdfs:comment "" ; + rdfs:label "XrdGrazingIncidence"@en ; + skos:prefLabel "XrdGrazingIncidence"@en . + + +### http://purl.org/spar/datacite/ResourceIdentifier +datacite:ResourceIdentifier rdf:type owl:Class ; + rdfs:comment "" ; + rdfs:label "ResourceIdentifier"@en ; + skos:prefLabel "ResourceIdentifier"@en . + + +################################################################# +# Individuals +################################################################# + + + +################################################################# +# General axioms +################################################################# + +[ rdf:type owl:AllDisjointClasses ; + owl:members ( chameo:CalibrationProcess + chameo:CharacterisationDataValidation + chameo:CharacterisationMeasurementProcess + chameo:DataAnalysis + chameo:DataPostProcessing + chameo:DataPreparation + chameo:SampleInspection + chameo:SamplePreparation + chameo:SamplingProcess + ) +] . + + +[ rdf:type owl:AllDisjointClasses ; + owl:members ( chameo:CompressionTest + chameo:CreepTest + chameo:DynamicMechanicalAnalysis + chameo:FatigueTesting + chameo:FibDic + chameo:HardnessTesting + chameo:Nanoindentation + chameo:ShearOrTorsionTests + chameo:TensileTest + chameo:WearTest + ) +] . +######################################### +### Equivalent classes and properties ### +######################################### + +### Classes: +### emmo:ApplicationProgram -> disciplines-computerscience EMMO_3b031fa9_8623_4ea5_8b57_bcafb70c5c8b +emmo:ApplicationProgram a owl:Class ; + owl:equivalentClass emmo:EMMO_3b031fa9_8623_4ea5_8b57_bcafb70c5c8b . +### emmo:DataProcessing -> disciplines-models EMMO_1c7f2dfe_0db4_4bf6_a0f6_853054a34ead +emmo:DataProcessing a owl:Class ; + owl:equivalentClass emmo:EMMO_1c7f2dfe_0db4_4bf6_a0f6_853054a34ead . +### emmo:DataSet -> perspectives-data EMMO_194e367c_9783_4bf5_96d0_9ad597d48d9a +emmo:DataSet a owl:Class ; + owl:equivalentClass emmo:EMMO_194e367c_9783_4bf5_96d0_9ad597d48d9a . +### emmo:Device -> disciplines-manufacturing EMMO_494b372c_cfdf_47d3_a4de_5e037c540de8 +emmo:Device a owl:Class ; + owl:equivalentClass emmo:EMMO_494b372c_cfdf_47d3_a4de_5e037c540de8 . +### emmo:EncodedData -> perspectives-data EMMO_3e7add3d_e6ed_489a_a796_8e31fef9b490 +emmo:EncodedData a owl:Class ; + owl:equivalentClass emmo:EMMO_3e7add3d_e6ed_489a_a796_8e31fef9b490 . +### emmo:Experiment -> disciplines-models EMMO_22522299_4091_4d1f_82a2_3890492df6db +emmo:Experiment a owl:Class ; + owl:equivalentClass emmo:EMMO_22522299_4091_4d1f_82a2_3890492df6db . +### emmo:IntentionalAgent -> multiperspective-persholistic EMMO_c130614a_2985_476d_a7ed_8a137847703c +emmo:IntentionalAgent a owl:Class ; + owl:equivalentClass emmo:EMMO_c130614a_2985_476d_a7ed_8a137847703c . +### emmo:ManufacturedProduct -> disciplines-manufacturing EMMO_86ca9b93_1183_4b65_81b8_c0fcd3bba5ad +emmo:ManufacturedProduct a owl:Class ; + owl:equivalentClass emmo:EMMO_86ca9b93_1183_4b65_81b8_c0fcd3bba5ad . +### emmo:MathematicalModel -> disciplines-models EMMO_f7ed665b_c2e1_42bc_889b_6b42ed3a36f0 +emmo:MathematicalModel a owl:Class ; + owl:equivalentClass emmo:EMMO_f7ed665b_c2e1_42bc_889b_6b42ed3a36f0 . +### emmo:MeasuredProperty -> disciplines-metrology EMMO_873b0ab3_88e6_4054_b901_5531e01f14a4 +emmo:MeasuredProperty a owl:Class ; + owl:equivalentClass emmo:EMMO_873b0ab3_88e6_4054_b901_5531e01f14a4 . +### emmo:Measurement -> disciplines-metrology EMMO_463bcfda_867b_41d9_a967_211d4d437cfb +emmo:Measurement a owl:Class ; + owl:equivalentClass emmo:EMMO_463bcfda_867b_41d9_a967_211d4d437cfb . +### emmo:MeasurementResult -> disciplines-metrology EMMO_0f6f0120_c079_4d95_bb11_4ddee05e530e +emmo:MeasurementResult a owl:Class ; + owl:equivalentClass emmo:EMMO_0f6f0120_c079_4d95_bb11_4ddee05e530e . +### emmo:MeasuringInstrument -> disciplines-metrology EMMO_f2d5d3ad_2e00_417f_8849_686f3988d929 +emmo:MeasuringInstrument a owl:Class ; + owl:equivalentClass emmo:EMMO_f2d5d3ad_2e00_417f_8849_686f3988d929 . +### emmo:MeasuringSystem -> disciplines-metrology EMMO_7dea2572_ab42_45bd_9fd7_92448cec762a +emmo:MeasuringSystem a owl:Class ; + owl:equivalentClass emmo:EMMO_7dea2572_ab42_45bd_9fd7_92448cec762a . +### emmo:NominalProperty -> disciplines-metrology EMMO_909415d1_7c43_4d5e_bbeb_7e1910159f66 +emmo:NominalProperty a owl:Class ; + owl:equivalentClass emmo:EMMO_909415d1_7c43_4d5e_bbeb_7e1910159f66 . +### emmo:Object -> perspectives-persistence EMMO_90ae56e4_d197_49b6_be1a_0049e4756606 +emmo:Object a owl:Class ; + owl:equivalentClass emmo:EMMO_90ae56e4_d197_49b6_be1a_0049e4756606 . +### emmo:Observation -> perspectives-semiotics EMMO_3b19eab4_79be_4b02_bdaf_ecf1f0067a68 +emmo:Observation a owl:Class ; + owl:equivalentClass emmo:EMMO_3b19eab4_79be_4b02_bdaf_ecf1f0067a68 . +### emmo:Parameter -> disciplines-math EMMO_d1d436e7_72fc_49cd_863b_7bfb4ba5276a +emmo:Parameter a owl:Class ; + owl:equivalentClass emmo:EMMO_d1d436e7_72fc_49cd_863b_7bfb4ba5276a . +### emmo:PhysicsEquation -> disciplines-models EMMO_27c5d8c6_8af7_4d63_beb1_ec37cd8b3fa3 +emmo:PhysicsEquation a owl:Class ; + owl:equivalentClass emmo:EMMO_27c5d8c6_8af7_4d63_beb1_ec37cd8b3fa3 . +### emmo:Procedure -> multiperspective-persholistic EMMO_472a0ca2_58bf_4618_b561_6fe68bd9fd49 +emmo:Procedure a owl:Class ; + owl:equivalentClass emmo:EMMO_472a0ca2_58bf_4618_b561_6fe68bd9fd49 . +### emmo:Process -> perspectives-persistence EMMO_43e9a05d_98af_41b4_92f6_00f79a09bfce +emmo:Process a owl:Class ; + owl:equivalentClass emmo:EMMO_43e9a05d_98af_41b4_92f6_00f79a09bfce . +### emmo:Property -> perspectives-semiotics EMMO_b7bcff25_ffc3_474e_9ab5_01b1664bd4ba +emmo:Property a owl:Class ; + owl:equivalentClass emmo:EMMO_b7bcff25_ffc3_474e_9ab5_01b1664bd4ba . +### emmo:Task -> multiperspective-workflow EMMO_4299e344_a321_4ef2_a744_bacfcce80afc +emmo:Task a owl:Class ; + owl:equivalentClass emmo:EMMO_4299e344_a321_4ef2_a744_bacfcce80afc . +### emmo:Theory -> disciplines-models EMMO_8d2d9374_ef3a_47e6_8595_6bc208e07519 +emmo:Theory a owl:Class ; + owl:equivalentClass emmo:EMMO_8d2d9374_ef3a_47e6_8595_6bc208e07519 . +### emmo:Workflow -> multiperspective-workflow EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c +emmo:Workflow a owl:Class ; + owl:equivalentClass emmo:EMMO_64963ed6_39c9_4258_85e0_6466c4b5420c . + +### ObjectProperties: +### emmo:hasAgent -> multiperspective-persholistic EMMO_cd24eb82_a11c_4a31_96ea_32f870c5580a +emmo:hasAgent a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_cd24eb82_a11c_4a31_96ea_32f870c5580a . +### emmo:hasHolisticPart -> perspectives-holistic EMMO_8e52c42b_e879_4473_9fa1_4b23428b392b +emmo:hasHolisticPart a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_8e52c42b_e879_4473_9fa1_4b23428b392b . +### emmo:hasIcon -> perspectives-semiotics EMMO_39c3815d_8cae_4c8f_b2ff_eeba24bec455 +emmo:hasIcon a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_39c3815d_8cae_4c8f_b2ff_eeba24bec455 . +### emmo:hasInput -> multiperspective-persholistic EMMO_36e69413_8c59_4799_946c_10b05d266e22 +emmo:hasInput a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_36e69413_8c59_4799_946c_10b05d266e22 . +### emmo:hasMeasuredProperty -> disciplines-metrology EMMO_fd689787_31b0_41cf_bf03_0d69af76469d +emmo:hasMeasuredProperty a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_fd689787_31b0_41cf_bf03_0d69af76469d . +### emmo:hasModel -> disciplines-models EMMO_24c71baf_6db6_48b9_86c8_8c70cf36db0c +emmo:hasModel a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_24c71baf_6db6_48b9_86c8_8c70cf36db0c . +### emmo:hasOutput -> multiperspective-persholistic EMMO_c4bace1d_4db0_4cd3_87e9_18122bae2840 +emmo:hasOutput a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_c4bace1d_4db0_4cd3_87e9_18122bae2840 . +### emmo:hasPart -> mereocausality-mereocausality EMMO_17e27c22_37e1_468c_9dd7_95e137f73e7f +emmo:hasPart a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_17e27c22_37e1_468c_9dd7_95e137f73e7f . +### emmo:hasParticipant -> multiperspective-persholistic EMMO_ae2d1a96_bfa1_409a_a7d2_03d69e8a125a +emmo:hasParticipant a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_ae2d1a96_bfa1_409a_a7d2_03d69e8a125a . +### emmo:hasProperty -> perspectives-semiotics EMMO_e1097637_70d2_4895_973f_2396f04fa204 +emmo:hasProperty a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_e1097637_70d2_4895_973f_2396f04fa204 . +### emmo:hasSubProcess -> multiperspective-persholistic EMMO_d43af210_f854_4432_a891_ce3022e3b558 +emmo:hasSubProcess a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_d43af210_f854_4432_a891_ce3022e3b558 . +### emmo:hasTask -> multiperspective-workflow EMMO_70da982d_1810_4b01_9630_a28e216ecd9a +emmo:hasTask a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_70da982d_1810_4b01_9630_a28e216ecd9a . +### emmo:hasTemporaryParticipant -> multiperspective-persholistic EMMO_35c29eb6_f57e_48d8_85af_854f9e926e77 +emmo:hasTemporaryParticipant a owl:ObjectProperty ; + owl:equivalentProperty emmo:EMMO_35c29eb6_f57e_48d8_85af_854f9e926e77 . + +### DatatypeProperties: + +### AnnotationProperties: +### emmo:IEVReference -> disciplines-isq EMMO_50c298c2_55a2_4068_b3ac_4e948c33181f +emmo:IEVReference a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_50c298c2_55a2_4068_b3ac_4e948c33181f . +### emmo:VIMTerm -> disciplines-metrology EMMO_bb49844b_45d7_4f0d_8cae_8e552cbc20d6 +emmo:VIMTerm a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_bb49844b_45d7_4f0d_8cae_8e552cbc20d6 . +### emmo:comment -> mereocausality-mereocausality EMMO_c7b62dd7_063a_4c2a_8504_42f7264ba83f +emmo:comment a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_c7b62dd7_063a_4c2a_8504_42f7264ba83f . +### emmo:dbpediaReference -> mereocausality-mereocausality EMMO_6dd685dd_1895_46e4_b227_be9f7d643c25 +emmo:dbpediaReference a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_6dd685dd_1895_46e4_b227_be9f7d643c25 . +### emmo:definition -> mereocausality-mereocausality EMMO_70fe84ff_99b6_4206_a9fc_9a8931836d84 +emmo:definition a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_70fe84ff_99b6_4206_a9fc_9a8931836d84 . +### emmo:elucidation -> mereocausality-mereocausality EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 +emmo:elucidation a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_967080e5_2f42_4eb2_a3a9_c58143e835f9 . +### emmo:example -> mereocausality-mereocausality EMMO_b432d2d5_25f4_4165_99c5_5935a7763c1a +emmo:example a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_b432d2d5_25f4_4165_99c5_5935a7763c1a . +### emmo:iupacReference -> disciplines-metrology EMMO_fe015383_afb3_44a6_ae86_043628697aa2 +emmo:iupacReference a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_fe015383_afb3_44a6_ae86_043628697aa2 . +### emmo:wikidataReference -> disciplines-isq EMMO_26bf1bef_d192_4da6_b0eb_d2209698fb54 +emmo:wikidataReference a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_26bf1bef_d192_4da6_b0eb_d2209698fb54 . +### emmo:wikipediaReference -> mereocausality-mereocausality EMMO_c84c6752_6d64_48cc_9500_e54a3c34898d +emmo:wikipediaReference a owl:AnnotationProperty ; + owl:equivalentProperty emmo:EMMO_c84c6752_6d64_48cc_9500_e54a3c34898d . \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..9c5f578 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +_build \ No newline at end of file diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..5f473ab --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= -v +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/README.org b/docs/README.org new file mode 100644 index 0000000..c06cd20 --- /dev/null +++ b/docs/README.org @@ -0,0 +1,47 @@ +#+TITLE: Documentation generation for BattInfo +* Requirements +** sphinx + installation instruction described [[https://www.sphinx-doc.org/en/master/usage/installation.html][here]] + #+begin_src + pip install sphinx + #+end_src +** install sphinx pydata theme + https://pydata-sphinx-theme.readthedocs.io/en/latest/index.html + #+begin_src + pip install pydata-sphinx-theme + #+end_src +** globabsubs extension + #+begin_src + pip install sphinxcontrib-globalsubs + #+end_src +** autosectionlabel + - part of default distribution + - We use ~autosectionlabel_prefix_document = True~ which means that the internal link must be prefixed by the file + name and a semi-column, see [[https://www.sphinx-doc.org/en/master/usage/extensions/autosectionlabel.html][here]]. + +* Workflow for editing + + In the ~Documentation~ directory, run from terminal + #+BEGIN_SRC sh + make html + #+END_SRC + + The command generates all the files for a static website and writes them in ~Documentation/_build/html~ + + All the files in this directory must then be copied to the ~BattInfo-doc~ [[https://github.com/BattMoTeam/BattMo-doc][repo]]. From there, make a *force* push. We do + not keep track of the history of the ouput files (html), but we of course keep track of the documentation source, directly in the + main repo ~BattInfo~. + + The deployment of the webpage can be followed from the [[https://github.com/BattMoTeam/BattMo-doc/actions][github pages section]] + + The result can be view at + + https://battmoteam.github.io/Battinfo-doc/ + +* Interesting Manuals +** sphinx manual + https://www.sphinx-doc.org/en/master/contents.html +** reStucturedText (rst) format + https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html +* Configuration file + - ~conf.py~ see https://www.sphinx-doc.org/en/master/usage/configuration.html diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css new file mode 100644 index 0000000..35f91d5 --- /dev/null +++ b/docs/_static/css/custom.css @@ -0,0 +1,75 @@ +td.element-table-key, td.element-table-value { + vertical-align: top; +} + +td.element-table-key { + text-align: right; + padding-right: 2mm; + width: 20%; +} + +span.element-table-key { + font-weight: bold; +} + +table.element-table { + width: 100%; + text-align: left; +} + +html table.element-table tr:nth-child(odd) td{ + background-color: Gainsboro; +} + +table.element-table tr:nth-child(even) td{ + background-color: GhostWhite; +} + +html[data-theme=dark] table.element-table tr:nth-child(odd) td{ + background-color: black; +} + +html[data-theme=dark] table.element-table tr:nth-child(even) td{ + background-color: black; +} +body img, body svg { + background-color: transparent; +} +html[data-theme='dark'] .bd-content img.my-svg, +html[data-theme='dark'] .bd-content svg.my-svg { + background: transparent !important; + filter: none !important; + color: white !important; + fill: white !important; + stroke: white !important; +} +html:not([data-theme='light']) .bd-content img.my-svg, +html:not([data-theme='light']) .bd-content svg.my-svg { + color: black !important; + fill: black !important; + stroke: black !important; +} +.faq-section summary { + font-size: 1.2em; /* Adjust the size as needed */ + color: #3D98B6; /* This is a bluish color */ + font-weight: bold; /* Makes the font bold */ + cursor: pointer; /* Changes the cursor to indicate it's clickable */ +} + +#jsoncrackEmbed { + flex: 1; + order: 2; + width: 100%; + height: 100vh; + border: none; +} +/* this fixes darkmode within the json-ld playground iframe +by inverting all colors if darkmode is active */ +html[data-theme="dark"] iframe[src*="json-ld.org/playground"] { + filter: invert(0.9); +} + + + + + diff --git a/docs/assets/img/chameo_logo_large.png b/docs/assets/img/chameo_logo_large.png new file mode 100644 index 0000000..0abfa44 Binary files /dev/null and b/docs/assets/img/chameo_logo_large.png differ diff --git a/docs/assets/img/chameo_logo_small.png b/docs/assets/img/chameo_logo_small.png new file mode 100644 index 0000000..32c38ef Binary files /dev/null and b/docs/assets/img/chameo_logo_small.png differ diff --git a/docs/assets/img/emmc-logo.png b/docs/assets/img/emmc-logo.png new file mode 100644 index 0000000..c88e5c7 Binary files /dev/null and b/docs/assets/img/emmc-logo.png differ diff --git a/docs/assets/img/graph.html b/docs/assets/img/graph.html new file mode 100644 index 0000000..f4f6200 --- /dev/null +++ b/docs/assets/img/graph.html @@ -0,0 +1,155 @@ + + + + + + + + + +
+

+
+ + + + + + +
+

+
+ + + + + +
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/assets/img/lib/bindings/utils.js b/docs/assets/img/lib/bindings/utils.js new file mode 100644 index 0000000..088effe --- /dev/null +++ b/docs/assets/img/lib/bindings/utils.js @@ -0,0 +1,189 @@ +function neighbourhoodHighlight(params) { + // console.log("in nieghbourhoodhighlight"); + allNodes = nodes.get({ returnType: "Object" }); + // originalNodes = JSON.parse(JSON.stringify(allNodes)); + // if something is selected: + if (params.nodes.length > 0) { + highlightActive = true; + var i, j; + var selectedNode = params.nodes[0]; + var degrees = 2; + + // mark all nodes as hard to read. + for (let nodeId in allNodes) { + // nodeColors[nodeId] = allNodes[nodeId].color; + allNodes[nodeId].color = "rgba(200,200,200,0.5)"; + if (allNodes[nodeId].hiddenLabel === undefined) { + allNodes[nodeId].hiddenLabel = allNodes[nodeId].label; + allNodes[nodeId].label = undefined; + } + } + var connectedNodes = network.getConnectedNodes(selectedNode); + var allConnectedNodes = []; + + // get the second degree nodes + for (i = 1; i < degrees; i++) { + for (j = 0; j < connectedNodes.length; j++) { + allConnectedNodes = allConnectedNodes.concat( + network.getConnectedNodes(connectedNodes[j]) + ); + } + } + + // all second degree nodes get a different color and their label back + for (i = 0; i < allConnectedNodes.length; i++) { + // allNodes[allConnectedNodes[i]].color = "pink"; + allNodes[allConnectedNodes[i]].color = "rgba(150,150,150,0.75)"; + if (allNodes[allConnectedNodes[i]].hiddenLabel !== undefined) { + allNodes[allConnectedNodes[i]].label = + allNodes[allConnectedNodes[i]].hiddenLabel; + allNodes[allConnectedNodes[i]].hiddenLabel = undefined; + } + } + + // all first degree nodes get their own color and their label back + for (i = 0; i < connectedNodes.length; i++) { + // allNodes[connectedNodes[i]].color = undefined; + allNodes[connectedNodes[i]].color = nodeColors[connectedNodes[i]]; + if (allNodes[connectedNodes[i]].hiddenLabel !== undefined) { + allNodes[connectedNodes[i]].label = + allNodes[connectedNodes[i]].hiddenLabel; + allNodes[connectedNodes[i]].hiddenLabel = undefined; + } + } + + // the main node gets its own color and its label back. + // allNodes[selectedNode].color = undefined; + allNodes[selectedNode].color = nodeColors[selectedNode]; + if (allNodes[selectedNode].hiddenLabel !== undefined) { + allNodes[selectedNode].label = allNodes[selectedNode].hiddenLabel; + allNodes[selectedNode].hiddenLabel = undefined; + } + } else if (highlightActive === true) { + // console.log("highlightActive was true"); + // reset all nodes + for (let nodeId in allNodes) { + // allNodes[nodeId].color = "purple"; + allNodes[nodeId].color = nodeColors[nodeId]; + // delete allNodes[nodeId].color; + if (allNodes[nodeId].hiddenLabel !== undefined) { + allNodes[nodeId].label = allNodes[nodeId].hiddenLabel; + allNodes[nodeId].hiddenLabel = undefined; + } + } + highlightActive = false; + } + + // transform the object into an array + var updateArray = []; + if (params.nodes.length > 0) { + for (let nodeId in allNodes) { + if (allNodes.hasOwnProperty(nodeId)) { + // console.log(allNodes[nodeId]); + updateArray.push(allNodes[nodeId]); + } + } + nodes.update(updateArray); + } else { + // console.log("Nothing was selected"); + for (let nodeId in allNodes) { + if (allNodes.hasOwnProperty(nodeId)) { + // console.log(allNodes[nodeId]); + // allNodes[nodeId].color = {}; + updateArray.push(allNodes[nodeId]); + } + } + nodes.update(updateArray); + } +} + +function filterHighlight(params) { + allNodes = nodes.get({ returnType: "Object" }); + // if something is selected: + if (params.nodes.length > 0) { + filterActive = true; + let selectedNodes = params.nodes; + + // hiding all nodes and saving the label + for (let nodeId in allNodes) { + allNodes[nodeId].hidden = true; + if (allNodes[nodeId].savedLabel === undefined) { + allNodes[nodeId].savedLabel = allNodes[nodeId].label; + allNodes[nodeId].label = undefined; + } + } + + for (let i=0; i < selectedNodes.length; i++) { + allNodes[selectedNodes[i]].hidden = false; + if (allNodes[selectedNodes[i]].savedLabel !== undefined) { + allNodes[selectedNodes[i]].label = allNodes[selectedNodes[i]].savedLabel; + allNodes[selectedNodes[i]].savedLabel = undefined; + } + } + + } else if (filterActive === true) { + // reset all nodes + for (let nodeId in allNodes) { + allNodes[nodeId].hidden = false; + if (allNodes[nodeId].savedLabel !== undefined) { + allNodes[nodeId].label = allNodes[nodeId].savedLabel; + allNodes[nodeId].savedLabel = undefined; + } + } + filterActive = false; + } + + // transform the object into an array + var updateArray = []; + if (params.nodes.length > 0) { + for (let nodeId in allNodes) { + if (allNodes.hasOwnProperty(nodeId)) { + updateArray.push(allNodes[nodeId]); + } + } + nodes.update(updateArray); + } else { + for (let nodeId in allNodes) { + if (allNodes.hasOwnProperty(nodeId)) { + updateArray.push(allNodes[nodeId]); + } + } + nodes.update(updateArray); + } +} + +function selectNode(nodes) { + network.selectNodes(nodes); + neighbourhoodHighlight({ nodes: nodes }); + return nodes; +} + +function selectNodes(nodes) { + network.selectNodes(nodes); + filterHighlight({nodes: nodes}); + return nodes; +} + +function highlightFilter(filter) { + let selectedNodes = [] + let selectedProp = filter['property'] + if (filter['item'] === 'node') { + let allNodes = nodes.get({ returnType: "Object" }); + for (let nodeId in allNodes) { + if (allNodes[nodeId][selectedProp] && filter['value'].includes((allNodes[nodeId][selectedProp]).toString())) { + selectedNodes.push(nodeId) + } + } + } + else if (filter['item'] === 'edge'){ + let allEdges = edges.get({returnType: 'object'}); + // check if the selected property exists for selected edge and select the nodes connected to the edge + for (let edge in allEdges) { + if (allEdges[edge][selectedProp] && filter['value'].includes((allEdges[edge][selectedProp]).toString())) { + selectedNodes.push(allEdges[edge]['from']) + selectedNodes.push(allEdges[edge]['to']) + } + } + } + selectNodes(selectedNodes) +} \ No newline at end of file diff --git a/docs/assets/img/lib/tom-select/tom-select.complete.min.js b/docs/assets/img/lib/tom-select/tom-select.complete.min.js new file mode 100644 index 0000000..e2e0211 --- /dev/null +++ b/docs/assets/img/lib/tom-select/tom-select.complete.min.js @@ -0,0 +1,356 @@ +/** +* Tom Select v2.0.0-rc.4 +* Licensed under the Apache License, Version 2.0 (the "License"); +*/ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TomSelect=t()}(this,(function(){"use strict" +function e(e,t){e.split(/\s+/).forEach((e=>{t(e)}))}class t{constructor(){this._events={}}on(t,i){e(t,(e=>{this._events[e]=this._events[e]||[],this._events[e].push(i)}))}off(t,i){var s=arguments.length +0!==s?e(t,(e=>{if(1===s)return delete this._events[e] +e in this._events!=!1&&this._events[e].splice(this._events[e].indexOf(i),1)})):this._events={}}trigger(t,...i){var s=this +e(t,(e=>{if(e in s._events!=!1)for(let t of s._events[e])t.apply(s,i)}))}}var i +const s="[̀-ͯ·ʾ]",n=new RegExp(s,"g") +var o +const r={"æ":"ae","ⱥ":"a","ø":"o"},l=new RegExp(Object.keys(r).join("|"),"g"),a=[[67,67],[160,160],[192,438],[452,652],[961,961],[1019,1019],[1083,1083],[1281,1289],[1984,1984],[5095,5095],[7429,7441],[7545,7549],[7680,7935],[8580,8580],[9398,9449],[11360,11391],[42792,42793],[42802,42851],[42873,42897],[42912,42922],[64256,64260],[65313,65338],[65345,65370]],c=e=>e.normalize("NFKD").replace(n,"").toLowerCase().replace(l,(function(e){return r[e]})),d=(e,t="|")=>{if(1==e.length)return e[0] +var i=1 +return e.forEach((e=>{i=Math.max(i,e.length)})),1==i?"["+e.join("")+"]":"(?:"+e.join(t)+")"},p=e=>{if(1===e.length)return[[e]] +var t=[] +return p(e.substring(1)).forEach((function(i){var s=i.slice(0) +s[0]=e.charAt(0)+s[0],t.push(s),(s=i.slice(0)).unshift(e.charAt(0)),t.push(s)})),t},u=e=>{void 0===o&&(o=(()=>{var e={} +a.forEach((t=>{for(let s=t[0];s<=t[1];s++){let t=String.fromCharCode(s),n=c(t) +if(n!=t.toLowerCase()){n in e||(e[n]=[n]) +var i=new RegExp(d(e[n]),"iu") +t.match(i)||e[n].push(t)}}})) +var t=Object.keys(e) +t=t.sort(((e,t)=>t.length-e.length)),i=new RegExp("("+d(t)+"[̀-ͯ·ʾ]*)","g") +var s={} +return t.sort(((e,t)=>e.length-t.length)).forEach((t=>{var i=p(t).map((t=>(t=t.map((t=>e.hasOwnProperty(t)?d(e[t]):t)),d(t,"")))) +s[t]=d(i)})),s})()) +return e.normalize("NFKD").toLowerCase().split(i).map((e=>{if(""==e)return"" +const t=c(e) +if(o.hasOwnProperty(t))return o[t] +const i=e.normalize("NFC") +return i!=e?d([e,i]):e})).join("")},h=(e,t)=>{if(e)return e[t]},g=(e,t)=>{if(e){for(var i,s=t.split(".");(i=s.shift())&&(e=e[i]););return e}},f=(e,t,i)=>{var s,n +return e?-1===(n=(e+="").search(t.regex))?0:(s=t.string.length/e.length,0===n&&(s+=.5),s*i):0},v=e=>(e+"").replace(/([\$\(-\+\.\?\[-\^\{-\}])/g,"\\$1"),m=(e,t)=>{var i=e[t] +if("function"==typeof i)return i +i&&!Array.isArray(i)&&(e[t]=[i])},y=(e,t)=>{if(Array.isArray(e))e.forEach(t) +else for(var i in e)e.hasOwnProperty(i)&&t(e[i],i)},O=(e,t)=>"number"==typeof e&&"number"==typeof t?e>t?1:e(t=c(t+"").toLowerCase())?1:t>e?-1:0 +class b{constructor(e,t){this.items=e,this.settings=t||{diacritics:!0}}tokenize(e,t,i){if(!e||!e.length)return[] +const s=[],n=e.split(/\s+/) +var o +return i&&(o=new RegExp("^("+Object.keys(i).map(v).join("|")+"):(.*)$")),n.forEach((e=>{let i,n=null,r=null +o&&(i=e.match(o))&&(n=i[1],e=i[2]),e.length>0&&(r=v(e),this.settings.diacritics&&(r=u(r)),t&&(r="\\b"+r)),s.push({string:e,regex:r?new RegExp(r,"iu"):null,field:n})})),s}getScoreFunction(e,t){var i=this.prepareSearch(e,t) +return this._getScoreFunction(i)}_getScoreFunction(e){const t=e.tokens,i=t.length +if(!i)return function(){return 0} +const s=e.options.fields,n=e.weights,o=s.length,r=e.getAttrFn +if(!o)return function(){return 1} +const l=1===o?function(e,t){const i=s[0].field +return f(r(t,i),e,n[i])}:function(e,t){var i=0 +if(e.field){const s=r(t,e.field) +!e.regex&&s?i+=1/o:i+=f(s,e,1)}else y(n,((s,n)=>{i+=f(r(t,n),e,s)})) +return i/o} +return 1===i?function(e){return l(t[0],e)}:"and"===e.options.conjunction?function(e){for(var s,n=0,o=0;n{s+=l(t,e)})),s/i}}getSortFunction(e,t){var i=this.prepareSearch(e,t) +return this._getSortFunction(i)}_getSortFunction(e){var t,i,s +const n=this,o=e.options,r=!e.query&&o.sort_empty?o.sort_empty:o.sort,l=[],a=[] +if("function"==typeof r)return r.bind(this) +const c=function(t,i){return"$score"===t?i.score:e.getAttrFn(n.items[i.id],t)} +if(r)for(t=0,i=r.length;t{"string"==typeof t&&(t={field:t,weight:1}),e.push(t),i[t.field]="weight"in t?t.weight:1})),s.fields=e}return{options:s,query:e.toLowerCase().trim(),tokens:this.tokenize(e,s.respect_word_boundaries,i),total:0,items:[],weights:i,getAttrFn:s.nesting?g:h}}search(e,t){var i,s,n=this +s=this.prepareSearch(e,t),t=s.options,e=s.query +const o=t.score||n._getScoreFunction(s) +e.length?y(n.items,((e,n)=>{i=o(e),(!1===t.filter||i>0)&&s.items.push({score:i,id:n})})):y(n.items,((e,t)=>{s.items.push({score:1,id:t})})) +const r=n._getSortFunction(s) +return r&&s.items.sort(r),s.total=s.items.length,"number"==typeof t.limit&&(s.items=s.items.slice(0,t.limit)),s}}const w=e=>{if(e.jquery)return e[0] +if(e instanceof HTMLElement)return e +if(e.indexOf("<")>-1){let t=document.createElement("div") +return t.innerHTML=e.trim(),t.firstChild}return document.querySelector(e)},_=(e,t)=>{var i=document.createEvent("HTMLEvents") +i.initEvent(t,!0,!1),e.dispatchEvent(i)},I=(e,t)=>{Object.assign(e.style,t)},C=(e,...t)=>{var i=A(t);(e=x(e)).map((e=>{i.map((t=>{e.classList.add(t)}))}))},S=(e,...t)=>{var i=A(t);(e=x(e)).map((e=>{i.map((t=>{e.classList.remove(t)}))}))},A=e=>{var t=[] +return y(e,(e=>{"string"==typeof e&&(e=e.trim().split(/[\11\12\14\15\40]/)),Array.isArray(e)&&(t=t.concat(e))})),t.filter(Boolean)},x=e=>(Array.isArray(e)||(e=[e]),e),k=(e,t,i)=>{if(!i||i.contains(e))for(;e&&e.matches;){if(e.matches(t))return e +e=e.parentNode}},F=(e,t=0)=>t>0?e[e.length-1]:e[0],L=(e,t)=>{if(!e)return-1 +t=t||e.nodeName +for(var i=0;e=e.previousElementSibling;)e.matches(t)&&i++ +return i},P=(e,t)=>{y(t,((t,i)=>{null==t?e.removeAttribute(i):e.setAttribute(i,""+t)}))},E=(e,t)=>{e.parentNode&&e.parentNode.replaceChild(t,e)},T=(e,t)=>{if(null===t)return +if("string"==typeof t){if(!t.length)return +t=new RegExp(t,"i")}const i=e=>3===e.nodeType?(e=>{var i=e.data.match(t) +if(i&&e.data.length>0){var s=document.createElement("span") +s.className="highlight" +var n=e.splitText(i.index) +n.splitText(i[0].length) +var o=n.cloneNode(!0) +return s.appendChild(o),E(n,s),1}return 0})(e):((e=>{if(1===e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&("highlight"!==e.className||"SPAN"!==e.tagName))for(var t=0;t0},render:{}} +const q=e=>null==e?null:D(e),D=e=>"boolean"==typeof e?e?"1":"0":e+"",N=e=>(e+"").replace(/&/g,"&").replace(//g,">").replace(/"/g,"""),z=(e,t)=>{var i +return function(s,n){var o=this +i&&(o.loading=Math.max(o.loading-1,0),clearTimeout(i)),i=setTimeout((function(){i=null,o.loadedSearches[s]=!0,e.call(o,s,n)}),t)}},R=(e,t,i)=>{var s,n=e.trigger,o={} +for(s in e.trigger=function(){var i=arguments[0] +if(-1===t.indexOf(i))return n.apply(e,arguments) +o[i]=arguments},i.apply(e,[]),e.trigger=n,o)n.apply(e,o[s])},H=(e,t=!1)=>{e&&(e.preventDefault(),t&&e.stopPropagation())},B=(e,t,i,s)=>{e.addEventListener(t,i,s)},K=(e,t)=>!!t&&(!!t[e]&&1===(t.altKey?1:0)+(t.ctrlKey?1:0)+(t.shiftKey?1:0)+(t.metaKey?1:0)),M=(e,t)=>{const i=e.getAttribute("id") +return i||(e.setAttribute("id",t),t)},Q=e=>e.replace(/[\\"']/g,"\\$&"),G=(e,t)=>{t&&e.append(t)} +function U(e,t){var i=Object.assign({},j,t),s=i.dataAttr,n=i.labelField,o=i.valueField,r=i.disabledField,l=i.optgroupField,a=i.optgroupLabelField,c=i.optgroupValueField,d=e.tagName.toLowerCase(),p=e.getAttribute("placeholder")||e.getAttribute("data-placeholder") +if(!p&&!i.allowEmptyOption){let t=e.querySelector('option[value=""]') +t&&(p=t.textContent)}var u,h,g,f,v,m,O={placeholder:p,options:[],optgroups:[],items:[],maxItems:null} +return"select"===d?(h=O.options,g={},f=1,v=e=>{var t=Object.assign({},e.dataset),i=s&&t[s] +return"string"==typeof i&&i.length&&(t=Object.assign(t,JSON.parse(i))),t},m=(e,t)=>{var s=q(e.value) +if(null!=s&&(s||i.allowEmptyOption)){if(g.hasOwnProperty(s)){if(t){var a=g[s][l] +a?Array.isArray(a)?a.push(t):g[s][l]=[a,t]:g[s][l]=t}}else{var c=v(e) +c[n]=c[n]||e.textContent,c[o]=c[o]||s,c[r]=c[r]||e.disabled,c[l]=c[l]||t,c.$option=e,g[s]=c,h.push(c)}e.selected&&O.items.push(s)}},O.maxItems=e.hasAttribute("multiple")?null:1,y(e.children,(e=>{var t,i,s +"optgroup"===(u=e.tagName.toLowerCase())?((s=v(t=e))[a]=s[a]||t.getAttribute("label")||"",s[c]=s[c]||f++,s[r]=s[r]||t.disabled,O.optgroups.push(s),i=s[c],y(t.children,(e=>{m(e,i)}))):"option"===u&&m(e)}))):(()=>{const t=e.getAttribute(s) +if(t)O.options=JSON.parse(t),y(O.options,(e=>{O.items.push(e[o])})) +else{var r=e.value.trim()||"" +if(!i.allowEmptyOption&&!r.length)return +const t=r.split(i.delimiter) +y(t,(e=>{const t={} +t[n]=e,t[o]=e,O.options.push(t)})),O.items=t}})(),Object.assign({},j,O,t)}var W=0 +class J extends(function(e){return e.plugins={},class extends e{constructor(...e){super(...e),this.plugins={names:[],settings:{},requested:{},loaded:{}}}static define(t,i){e.plugins[t]={name:t,fn:i}}initializePlugins(e){var t,i +const s=this,n=[] +if(Array.isArray(e))e.forEach((e=>{"string"==typeof e?n.push(e):(s.plugins.settings[e.name]=e.options,n.push(e.name))})) +else if(e)for(t in e)e.hasOwnProperty(t)&&(s.plugins.settings[t]=e[t],n.push(t)) +for(;i=n.shift();)s.require(i)}loadPlugin(t){var i=this,s=i.plugins,n=e.plugins[t] +if(!e.plugins.hasOwnProperty(t))throw new Error('Unable to find "'+t+'" plugin') +s.requested[t]=!0,s.loaded[t]=n.fn.apply(i,[i.plugins.settings[t]||{}]),s.names.push(t)}require(e){var t=this,i=t.plugins +if(!t.plugins.loaded.hasOwnProperty(e)){if(i.requested[e])throw new Error('Plugin has circular dependency ("'+e+'")') +t.loadPlugin(e)}return i.loaded[e]}}}(t)){constructor(e,t){var i +super(),this.order=0,this.isOpen=!1,this.isDisabled=!1,this.isInvalid=!1,this.isValid=!0,this.isLocked=!1,this.isFocused=!1,this.isInputHidden=!1,this.isSetup=!1,this.ignoreFocus=!1,this.hasOptions=!1,this.lastValue="",this.caretPos=0,this.loading=0,this.loadedSearches={},this.activeOption=null,this.activeItems=[],this.optgroups={},this.options={},this.userOptions={},this.items=[],W++ +var s=w(e) +if(s.tomselect)throw new Error("Tom Select already initialized on this element") +s.tomselect=this,i=(window.getComputedStyle&&window.getComputedStyle(s,null)).getPropertyValue("direction") +const n=U(s,t) +this.settings=n,this.input=s,this.tabIndex=s.tabIndex||0,this.is_select_tag="select"===s.tagName.toLowerCase(),this.rtl=/rtl/i.test(i),this.inputId=M(s,"tomselect-"+W),this.isRequired=s.required,this.sifter=new b(this.options,{diacritics:n.diacritics}),n.mode=n.mode||(1===n.maxItems?"single":"multi"),"boolean"!=typeof n.hideSelected&&(n.hideSelected="multi"===n.mode),"boolean"!=typeof n.hidePlaceholder&&(n.hidePlaceholder="multi"!==n.mode) +var o=n.createFilter +"function"!=typeof o&&("string"==typeof o&&(o=new RegExp(o)),o instanceof RegExp?n.createFilter=e=>o.test(e):n.createFilter=()=>!0),this.initializePlugins(n.plugins),this.setupCallbacks(),this.setupTemplates() +const r=w("
"),l=w("
"),a=this._render("dropdown"),c=w('
'),d=this.input.getAttribute("class")||"",p=n.mode +var u +if(C(r,n.wrapperClass,d,p),C(l,n.controlClass),G(r,l),C(a,n.dropdownClass,p),n.copyClassesToDropdown&&C(a,d),C(c,n.dropdownContentClass),G(a,c),w(n.dropdownParent||r).appendChild(a),n.hasOwnProperty("controlInput"))n.controlInput?(u=w(n.controlInput),this.focus_node=u):(u=w(""),this.focus_node=l) +else{u=w('') +y(["autocorrect","autocapitalize","autocomplete"],(e=>{s.getAttribute(e)&&P(u,{[e]:s.getAttribute(e)})})),u.tabIndex=-1,l.appendChild(u),this.focus_node=u}this.wrapper=r,this.dropdown=a,this.dropdown_content=c,this.control=l,this.control_input=u,this.setup()}setup(){const e=this,t=e.settings,i=e.control_input,s=e.dropdown,n=e.dropdown_content,o=e.wrapper,r=e.control,l=e.input,a=e.focus_node,c={passive:!0},d=e.inputId+"-ts-dropdown" +P(n,{id:d}),P(a,{role:"combobox","aria-haspopup":"listbox","aria-expanded":"false","aria-controls":d}) +const p=M(a,e.inputId+"-ts-control"),u="label[for='"+(e=>e.replace(/['"\\]/g,"\\$&"))(e.inputId)+"']",h=document.querySelector(u),g=e.focus.bind(e) +if(h){B(h,"click",g),P(h,{for:p}) +const t=M(h,e.inputId+"-ts-label") +P(a,{"aria-labelledby":t}),P(n,{"aria-labelledby":t})}if(o.style.width=l.style.width,e.plugins.names.length){const t="plugin-"+e.plugins.names.join(" plugin-") +C([o,s],t)}(null===t.maxItems||t.maxItems>1)&&e.is_select_tag&&P(l,{multiple:"multiple"}),e.settings.placeholder&&P(i,{placeholder:t.placeholder}),!e.settings.splitOn&&e.settings.delimiter&&(e.settings.splitOn=new RegExp("\\s*"+v(e.settings.delimiter)+"+\\s*")),t.load&&t.loadThrottle&&(t.load=z(t.load,t.loadThrottle)),e.control_input.type=l.type,B(s,"click",(t=>{const i=k(t.target,"[data-selectable]") +i&&(e.onOptionSelect(t,i),H(t,!0))})),B(r,"click",(t=>{var s=k(t.target,"[data-ts-item]",r) +s&&e.onItemSelect(t,s)?H(t,!0):""==i.value&&(e.onClick(),H(t,!0))})),B(i,"mousedown",(e=>{""!==i.value&&e.stopPropagation()})),B(a,"keydown",(t=>e.onKeyDown(t))),B(i,"keypress",(t=>e.onKeyPress(t))),B(i,"input",(t=>e.onInput(t))),B(a,"resize",(()=>e.positionDropdown()),c),B(a,"blur",(t=>e.onBlur(t))),B(a,"focus",(t=>e.onFocus(t))),B(a,"paste",(t=>e.onPaste(t))) +const f=t=>{const i=t.composedPath()[0] +if(!o.contains(i)&&!s.contains(i))return e.isFocused&&e.blur(),void e.inputState() +H(t,!0)} +var m=()=>{e.isOpen&&e.positionDropdown()} +B(document,"mousedown",f),B(window,"scroll",m,c),B(window,"resize",m,c),this._destroy=()=>{document.removeEventListener("mousedown",f),window.removeEventListener("sroll",m),window.removeEventListener("resize",m),h&&h.removeEventListener("click",g)},this.revertSettings={innerHTML:l.innerHTML,tabIndex:l.tabIndex},l.tabIndex=-1,l.insertAdjacentElement("afterend",e.wrapper),e.sync(!1),t.items=[],delete t.optgroups,delete t.options,B(l,"invalid",(t=>{e.isValid&&(e.isValid=!1,e.isInvalid=!0,e.refreshState())})),e.updateOriginalInput(),e.refreshItems(),e.close(!1),e.inputState(),e.isSetup=!0,l.disabled?e.disable():e.enable(),e.on("change",this.onChange),C(l,"tomselected","ts-hidden-accessible"),e.trigger("initialize"),!0===t.preload&&e.preload()}setupOptions(e=[],t=[]){this.addOptions(e),y(t,(e=>{this.registerOptionGroup(e)}))}setupTemplates(){var e=this,t=e.settings.labelField,i=e.settings.optgroupLabelField,s={optgroup:e=>{let t=document.createElement("div") +return t.className="optgroup",t.appendChild(e.options),t},optgroup_header:(e,t)=>'
'+t(e[i])+"
",option:(e,i)=>"
"+i(e[t])+"
",item:(e,i)=>"
"+i(e[t])+"
",option_create:(e,t)=>'
Add '+t(e.input)+"
",no_results:()=>'
No results found
',loading:()=>'
',not_loading:()=>{},dropdown:()=>"
"} +e.settings.render=Object.assign({},s,e.settings.render)}setupCallbacks(){var e,t,i={initialize:"onInitialize",change:"onChange",item_add:"onItemAdd",item_remove:"onItemRemove",item_select:"onItemSelect",clear:"onClear",option_add:"onOptionAdd",option_remove:"onOptionRemove",option_clear:"onOptionClear",optgroup_add:"onOptionGroupAdd",optgroup_remove:"onOptionGroupRemove",optgroup_clear:"onOptionGroupClear",dropdown_open:"onDropdownOpen",dropdown_close:"onDropdownClose",type:"onType",load:"onLoad",focus:"onFocus",blur:"onBlur"} +for(e in i)(t=this.settings[i[e]])&&this.on(e,t)}sync(e=!0){const t=this,i=e?U(t.input,{delimiter:t.settings.delimiter}):t.settings +t.setupOptions(i.options,i.optgroups),t.setValue(i.items,!0),t.lastQuery=null}onClick(){var e=this +if(e.activeItems.length>0)return e.clearActiveItems(),void e.focus() +e.isFocused&&e.isOpen?e.blur():e.focus()}onMouseDown(){}onChange(){_(this.input,"input"),_(this.input,"change")}onPaste(e){var t=this +t.isFull()||t.isInputHidden||t.isLocked?H(e):t.settings.splitOn&&setTimeout((()=>{var e=t.inputValue() +if(e.match(t.settings.splitOn)){var i=e.trim().split(t.settings.splitOn) +y(i,(e=>{t.createItem(e)}))}}),0)}onKeyPress(e){var t=this +if(!t.isLocked){var i=String.fromCharCode(e.keyCode||e.which) +return t.settings.create&&"multi"===t.settings.mode&&i===t.settings.delimiter?(t.createItem(),void H(e)):void 0}H(e)}onKeyDown(e){var t=this +if(t.isLocked)9!==e.keyCode&&H(e) +else{switch(e.keyCode){case 65:if(K(V,e))return H(e),void t.selectAll() +break +case 27:return t.isOpen&&(H(e,!0),t.close()),void t.clearActiveItems() +case 40:if(!t.isOpen&&t.hasOptions)t.open() +else if(t.activeOption){let e=t.getAdjacent(t.activeOption,1) +e&&t.setActiveOption(e)}return void H(e) +case 38:if(t.activeOption){let e=t.getAdjacent(t.activeOption,-1) +e&&t.setActiveOption(e)}return void H(e) +case 13:return void(t.isOpen&&t.activeOption?(t.onOptionSelect(e,t.activeOption),H(e)):t.settings.create&&t.createItem()&&H(e)) +case 37:return void t.advanceSelection(-1,e) +case 39:return void t.advanceSelection(1,e) +case 9:return void(t.settings.selectOnTab&&(t.isOpen&&t.activeOption&&(t.onOptionSelect(e,t.activeOption),H(e)),t.settings.create&&t.createItem()&&H(e))) +case 8:case 46:return void t.deleteSelection(e)}t.isInputHidden&&!K(V,e)&&H(e)}}onInput(e){var t=this +if(!t.isLocked){var i=t.inputValue() +t.lastValue!==i&&(t.lastValue=i,t.settings.shouldLoad.call(t,i)&&t.load(i),t.refreshOptions(),t.trigger("type",i))}}onFocus(e){var t=this,i=t.isFocused +if(t.isDisabled)return t.blur(),void H(e) +t.ignoreFocus||(t.isFocused=!0,"focus"===t.settings.preload&&t.preload(),i||t.trigger("focus"),t.activeItems.length||(t.showInput(),t.refreshOptions(!!t.settings.openOnFocus)),t.refreshState())}onBlur(e){if(!1!==document.hasFocus()){var t=this +if(t.isFocused){t.isFocused=!1,t.ignoreFocus=!1 +var i=()=>{t.close(),t.setActiveItem(),t.setCaret(t.items.length),t.trigger("blur")} +t.settings.create&&t.settings.createOnBlur?t.createItem(null,!1,i):i()}}}onOptionSelect(e,t){var i,s=this +t&&(t.parentElement&&t.parentElement.matches("[data-disabled]")||(t.classList.contains("create")?s.createItem(null,!0,(()=>{s.settings.closeAfterSelect&&s.close()})):void 0!==(i=t.dataset.value)&&(s.lastQuery=null,s.addItem(i),s.settings.closeAfterSelect&&s.close(),!s.settings.hideSelected&&e.type&&/click/.test(e.type)&&s.setActiveOption(t))))}onItemSelect(e,t){var i=this +return!i.isLocked&&"multi"===i.settings.mode&&(H(e),i.setActiveItem(t,e),!0)}canLoad(e){return!!this.settings.load&&!this.loadedSearches.hasOwnProperty(e)}load(e){const t=this +if(!t.canLoad(e))return +C(t.wrapper,t.settings.loadingClass),t.loading++ +const i=t.loadCallback.bind(t) +t.settings.load.call(t,e,i)}loadCallback(e,t){const i=this +i.loading=Math.max(i.loading-1,0),i.lastQuery=null,i.clearActiveOption(),i.setupOptions(e,t),i.refreshOptions(i.isFocused&&!i.isInputHidden),i.loading||S(i.wrapper,i.settings.loadingClass),i.trigger("load",e,t)}preload(){var e=this.wrapper.classList +e.contains("preloaded")||(e.add("preloaded"),this.load(""))}setTextboxValue(e=""){var t=this.control_input +t.value!==e&&(t.value=e,_(t,"update"),this.lastValue=e)}getValue(){return this.is_select_tag&&this.input.hasAttribute("multiple")?this.items:this.items.join(this.settings.delimiter)}setValue(e,t){R(this,t?[]:["change"],(()=>{this.clear(t),this.addItems(e,t)}))}setMaxItems(e){0===e&&(e=null),this.settings.maxItems=e,this.refreshState()}setActiveItem(e,t){var i,s,n,o,r,l,a=this +if("single"!==a.settings.mode){if(!e)return a.clearActiveItems(),void(a.isFocused&&a.showInput()) +if("click"===(i=t&&t.type.toLowerCase())&&K("shiftKey",t)&&a.activeItems.length){for(l=a.getLastActive(),(n=Array.prototype.indexOf.call(a.control.children,l))>(o=Array.prototype.indexOf.call(a.control.children,e))&&(r=n,n=o,o=r),s=n;s<=o;s++)e=a.control.children[s],-1===a.activeItems.indexOf(e)&&a.setActiveItemClass(e) +H(t)}else"click"===i&&K(V,t)||"keydown"===i&&K("shiftKey",t)?e.classList.contains("active")?a.removeActiveItem(e):a.setActiveItemClass(e):(a.clearActiveItems(),a.setActiveItemClass(e)) +a.hideInput(),a.isFocused||a.focus()}}setActiveItemClass(e){const t=this,i=t.control.querySelector(".last-active") +i&&S(i,"last-active"),C(e,"active last-active"),t.trigger("item_select",e),-1==t.activeItems.indexOf(e)&&t.activeItems.push(e)}removeActiveItem(e){var t=this.activeItems.indexOf(e) +this.activeItems.splice(t,1),S(e,"active")}clearActiveItems(){S(this.activeItems,"active"),this.activeItems=[]}setActiveOption(e){e!==this.activeOption&&(this.clearActiveOption(),e&&(this.activeOption=e,P(this.focus_node,{"aria-activedescendant":e.getAttribute("id")}),P(e,{"aria-selected":"true"}),C(e,"active"),this.scrollToOption(e)))}scrollToOption(e,t){if(!e)return +const i=this.dropdown_content,s=i.clientHeight,n=i.scrollTop||0,o=e.offsetHeight,r=e.getBoundingClientRect().top-i.getBoundingClientRect().top+n +r+o>s+n?this.scroll(r-s+o,t):r0||!e.isFocused&&e.settings.hidePlaceholder&&e.items.length>0?(e.setTextboxValue(),e.isInputHidden=!0):(e.settings.hidePlaceholder&&e.items.length>0&&P(e.control_input,{placeholder:""}),e.isInputHidden=!1),e.wrapper.classList.toggle("input-hidden",e.isInputHidden))}hideInput(){this.inputState()}showInput(){this.inputState()}inputValue(){return this.control_input.value.trim()}focus(){var e=this +e.isDisabled||(e.ignoreFocus=!0,e.control_input.offsetWidth?e.control_input.focus():e.focus_node.focus(),setTimeout((()=>{e.ignoreFocus=!1,e.onFocus()}),0))}blur(){this.focus_node.blur(),this.onBlur()}getScoreFunction(e){return this.sifter.getScoreFunction(e,this.getSearchOptions())}getSearchOptions(){var e=this.settings,t=e.sortField +return"string"==typeof e.sortField&&(t=[{field:e.sortField}]),{fields:e.searchField,conjunction:e.searchConjunction,sort:t,nesting:e.nesting}}search(e){var t,i,s,n=this,o=this.getSearchOptions() +if(n.settings.score&&"function"!=typeof(s=n.settings.score.call(n,e)))throw new Error('Tom Select "score" setting must be a function that returns a function') +if(e!==n.lastQuery?(n.lastQuery=e,i=n.sifter.search(e,Object.assign(o,{score:s})),n.currentResults=i):i=Object.assign({},n.currentResults),n.settings.hideSelected)for(t=i.items.length-1;t>=0;t--){let e=q(i.items[t].id) +e&&-1!==n.items.indexOf(e)&&i.items.splice(t,1)}return i}refreshOptions(e=!0){var t,i,s,n,o,r,l,a,c,d,p +const u={},h=[] +var g,f=this,v=f.inputValue(),m=f.search(v),O=f.activeOption,b=f.settings.shouldOpen||!1,w=f.dropdown_content +for(O&&(c=O.dataset.value,d=O.closest("[data-group]")),n=m.items.length,"number"==typeof f.settings.maxOptions&&(n=Math.min(n,f.settings.maxOptions)),n>0&&(b=!0),t=0;t0&&(l=l.cloneNode(!0),P(l,{id:n.$id+"-clone-"+i,"aria-selected":null}),l.classList.add("ts-cloned"),S(l,"active")),c==e&&d&&d.dataset.group===o&&(O=l),u[o].appendChild(l)}this.settings.lockOptgroupOrder&&h.sort(((e,t)=>(f.optgroups[e]&&f.optgroups[e].$order||0)-(f.optgroups[t]&&f.optgroups[t].$order||0))),l=document.createDocumentFragment(),y(h,(e=>{if(f.optgroups.hasOwnProperty(e)&&u[e].children.length){let t=document.createDocumentFragment(),i=f.render("optgroup_header",f.optgroups[e]) +G(t,i),G(t,u[e]) +let s=f.render("optgroup",{group:f.optgroups[e],options:t}) +G(l,s)}else G(l,u[e])})),w.innerHTML="",G(w,l),f.settings.highlight&&(g=w.querySelectorAll("span.highlight"),Array.prototype.forEach.call(g,(function(e){var t=e.parentNode +t.replaceChild(e.firstChild,e),t.normalize()})),m.query.length&&m.tokens.length&&y(m.tokens,(e=>{T(w,e.regex)}))) +var _=e=>{let t=f.render(e,{input:v}) +return t&&(b=!0,w.insertBefore(t,w.firstChild)),t} +if(f.loading?_("loading"):f.settings.shouldLoad.call(f,v)?0===m.items.length&&_("no_results"):_("not_loading"),(a=f.canCreate(v))&&(p=_("option_create")),f.hasOptions=m.items.length>0||a,b){if(m.items.length>0){if(!w.contains(O)&&"single"===f.settings.mode&&f.items.length&&(O=f.getOption(f.items[0])),!w.contains(O)){let e=0 +p&&!f.settings.addPrecedence&&(e=1),O=f.selectable()[e]}}else p&&(O=p) +e&&!f.isOpen&&(f.open(),f.scrollToOption(O,"auto")),f.setActiveOption(O)}else f.clearActiveOption(),e&&f.isOpen&&f.close(!1)}selectable(){return this.dropdown_content.querySelectorAll("[data-selectable]")}addOption(e,t=!1){const i=this +if(Array.isArray(e))return i.addOptions(e,t),!1 +const s=q(e[i.settings.valueField]) +return null!==s&&!i.options.hasOwnProperty(s)&&(e.$order=e.$order||++i.order,e.$id=i.inputId+"-opt-"+e.$order,i.options[s]=e,i.lastQuery=null,t&&(i.userOptions[s]=t,i.trigger("option_add",s,e)),s)}addOptions(e,t=!1){y(e,(e=>{this.addOption(e,t)}))}registerOption(e){return this.addOption(e)}registerOptionGroup(e){var t=q(e[this.settings.optgroupValueField]) +return null!==t&&(e.$order=e.$order||++this.order,this.optgroups[t]=e,t)}addOptionGroup(e,t){var i +t[this.settings.optgroupValueField]=e,(i=this.registerOptionGroup(t))&&this.trigger("optgroup_add",i,t)}removeOptionGroup(e){this.optgroups.hasOwnProperty(e)&&(delete this.optgroups[e],this.clearCache(),this.trigger("optgroup_remove",e))}clearOptionGroups(){this.optgroups={},this.clearCache(),this.trigger("optgroup_clear")}updateOption(e,t){const i=this +var s,n +const o=q(e),r=q(t[i.settings.valueField]) +if(null===o)return +if(!i.options.hasOwnProperty(o))return +if("string"!=typeof r)throw new Error("Value must be set in option data") +const l=i.getOption(o),a=i.getItem(o) +if(t.$order=t.$order||i.options[o].$order,delete i.options[o],i.uncacheValue(r),i.options[r]=t,l){if(i.dropdown_content.contains(l)){const e=i._render("option",t) +E(l,e),i.activeOption===l&&i.setActiveOption(e)}l.remove()}a&&(-1!==(n=i.items.indexOf(o))&&i.items.splice(n,1,r),s=i._render("item",t),a.classList.contains("active")&&C(s,"active"),E(a,s)),i.lastQuery=null}removeOption(e,t){const i=this +e=D(e),i.uncacheValue(e),delete i.userOptions[e],delete i.options[e],i.lastQuery=null,i.trigger("option_remove",e),i.removeItem(e,t)}clearOptions(){this.loadedSearches={},this.userOptions={},this.clearCache() +var e={} +y(this.options,((t,i)=>{this.items.indexOf(i)>=0&&(e[i]=this.options[i])})),this.options=this.sifter.items=e,this.lastQuery=null,this.trigger("option_clear")}getOption(e,t=!1){const i=q(e) +if(null!==i&&this.options.hasOwnProperty(i)){const e=this.options[i] +if(e.$div)return e.$div +if(t)return this._render("option",e)}return null}getAdjacent(e,t,i="option"){var s +if(!e)return null +s="item"==i?this.controlChildren():this.dropdown_content.querySelectorAll("[data-selectable]") +for(let i=0;i0?s[i+1]:s[i-1] +return null}getItem(e){if("object"==typeof e)return e +var t=q(e) +return null!==t?this.control.querySelector(`[data-value="${Q(t)}"]`):null}addItems(e,t){var i=this,s=Array.isArray(e)?e:[e] +for(let e=0,n=(s=s.filter((e=>-1===i.items.indexOf(e)))).length;e{var i,s +const n=this,o=n.settings.mode,r=q(e) +if((!r||-1===n.items.indexOf(r)||("single"===o&&n.close(),"single"!==o&&n.settings.duplicates))&&null!==r&&n.options.hasOwnProperty(r)&&("single"===o&&n.clear(t),"multi"!==o||!n.isFull())){if(i=n._render("item",n.options[r]),n.control.contains(i)&&(i=i.cloneNode(!0)),s=n.isFull(),n.items.splice(n.caretPos,0,r),n.insertAtCaret(i),n.isSetup){if(!n.isPending&&n.settings.hideSelected){let e=n.getOption(r),t=n.getAdjacent(e,1) +t&&n.setActiveOption(t)}n.isPending||n.refreshOptions(n.isFocused&&"single"!==o),0!=n.settings.closeAfterSelect&&n.isFull()?n.close():n.isPending||n.positionDropdown(),n.trigger("item_add",r,i),n.isPending||n.updateOriginalInput({silent:t})}(!n.isPending||!s&&n.isFull())&&(n.inputState(),n.refreshState())}}))}removeItem(e=null,t){const i=this +if(!(e=i.getItem(e)))return +var s,n +const o=e.dataset.value +s=L(e),e.remove(),e.classList.contains("active")&&(n=i.activeItems.indexOf(e),i.activeItems.splice(n,1),S(e,"active")),i.items.splice(s,1),i.lastQuery=null,!i.settings.persist&&i.userOptions.hasOwnProperty(o)&&i.removeOption(o,t),s{})){var s,n=this,o=n.caretPos +if(e=e||n.inputValue(),!n.canCreate(e))return i(),!1 +n.lock() +var r=!1,l=e=>{if(n.unlock(),!e||"object"!=typeof e)return i() +var s=q(e[n.settings.valueField]) +if("string"!=typeof s)return i() +n.setTextboxValue(),n.addOption(e,!0),n.setCaret(o),n.addItem(s),n.refreshOptions(t&&"single"!==n.settings.mode),i(e),r=!0} +return s="function"==typeof n.settings.create?n.settings.create.call(this,e,l):{[n.settings.labelField]:e,[n.settings.valueField]:e},r||l(s),!0}refreshItems(){var e=this +e.lastQuery=null,e.isSetup&&e.addItems(e.items),e.updateOriginalInput(),e.refreshState()}refreshState(){const e=this +e.refreshValidityState() +const t=e.isFull(),i=e.isLocked +e.wrapper.classList.toggle("rtl",e.rtl) +const s=e.wrapper.classList +var n +s.toggle("focus",e.isFocused),s.toggle("disabled",e.isDisabled),s.toggle("required",e.isRequired),s.toggle("invalid",!e.isValid),s.toggle("locked",i),s.toggle("full",t),s.toggle("input-active",e.isFocused&&!e.isInputHidden),s.toggle("dropdown-active",e.isOpen),s.toggle("has-options",(n=e.options,0===Object.keys(n).length)),s.toggle("has-items",e.items.length>0)}refreshValidityState(){var e=this +e.input.checkValidity&&(e.isValid=e.input.checkValidity(),e.isInvalid=!e.isValid)}isFull(){return null!==this.settings.maxItems&&this.items.length>=this.settings.maxItems}updateOriginalInput(e={}){const t=this +var i,s +const n=t.input.querySelector('option[value=""]') +if(t.is_select_tag){const e=[] +function o(i,s,o){return i||(i=w('")),i!=n&&t.input.append(i),e.push(i),i.selected=!0,i}t.input.querySelectorAll("option:checked").forEach((e=>{e.selected=!1})),0==t.items.length&&"single"==t.settings.mode?o(n,"",""):t.items.forEach((n=>{if(i=t.options[n],s=i[t.settings.labelField]||"",e.includes(i.$option)){o(t.input.querySelector(`option[value="${Q(n)}"]:not(:checked)`),n,s)}else i.$option=o(i.$option,n,s)}))}else t.input.value=t.getValue() +t.isSetup&&(e.silent||t.trigger("change",t.getValue()))}open(){var e=this +e.isLocked||e.isOpen||"multi"===e.settings.mode&&e.isFull()||(e.isOpen=!0,P(e.focus_node,{"aria-expanded":"true"}),e.refreshState(),I(e.dropdown,{visibility:"hidden",display:"block"}),e.positionDropdown(),I(e.dropdown,{visibility:"visible",display:"block"}),e.focus(),e.trigger("dropdown_open",e.dropdown))}close(e=!0){var t=this,i=t.isOpen +e&&(t.setTextboxValue(),"single"===t.settings.mode&&t.items.length&&t.hideInput()),t.isOpen=!1,P(t.focus_node,{"aria-expanded":"false"}),I(t.dropdown,{display:"none"}),t.settings.hideSelected&&t.clearActiveOption(),t.refreshState(),i&&t.trigger("dropdown_close",t.dropdown)}positionDropdown(){if("body"===this.settings.dropdownParent){var e=this.control,t=e.getBoundingClientRect(),i=e.offsetHeight+t.top+window.scrollY,s=t.left+window.scrollX +I(this.dropdown,{width:t.width+"px",top:i+"px",left:s+"px"})}}clear(e){var t=this +if(t.items.length){var i=t.controlChildren() +y(i,(e=>{t.removeItem(e,!0)})),t.showInput(),e||t.updateOriginalInput(),t.trigger("clear")}}insertAtCaret(e){const t=this,i=t.caretPos,s=t.control +s.insertBefore(e,s.children[i]),t.setCaret(i+1)}deleteSelection(e){var t,i,s,n,o,r=this +t=e&&8===e.keyCode?-1:1,i={start:(o=r.control_input).selectionStart||0,length:(o.selectionEnd||0)-(o.selectionStart||0)} +const l=[] +if(r.activeItems.length)n=F(r.activeItems,t),s=L(n),t>0&&s++,y(r.activeItems,(e=>l.push(e))) +else if((r.isFocused||"single"===r.settings.mode)&&r.items.length){const e=r.controlChildren() +t<0&&0===i.start&&0===i.length?l.push(e[r.caretPos-1]):t>0&&i.start===r.inputValue().length&&l.push(e[r.caretPos])}const a=l.map((e=>e.dataset.value)) +if(!a.length||"function"==typeof r.settings.onDelete&&!1===r.settings.onDelete.call(r,a,e))return!1 +for(H(e,!0),void 0!==s&&r.setCaret(s);l.length;)r.removeItem(l.pop()) +return r.showInput(),r.positionDropdown(),r.refreshOptions(!1),!0}advanceSelection(e,t){var i,s,n=this +n.rtl&&(e*=-1),n.inputValue().length||(K(V,t)||K("shiftKey",t)?(s=(i=n.getLastActive(e))?i.classList.contains("active")?n.getAdjacent(i,e,"item"):i:e>0?n.control_input.nextElementSibling:n.control_input.previousElementSibling)&&(s.classList.contains("active")&&n.removeActiveItem(i),n.setActiveItemClass(s)):n.moveCaret(e))}moveCaret(e){}getLastActive(e){let t=this.control.querySelector(".last-active") +if(t)return t +var i=this.control.querySelectorAll(".active") +return i?F(i,e):void 0}setCaret(e){this.caretPos=this.items.length}controlChildren(){return Array.from(this.control.querySelectorAll("[data-ts-item]"))}lock(){this.close(),this.isLocked=!0,this.refreshState()}unlock(){this.isLocked=!1,this.refreshState()}disable(){var e=this +e.input.disabled=!0,e.control_input.disabled=!0,e.focus_node.tabIndex=-1,e.isDisabled=!0,e.lock()}enable(){var e=this +e.input.disabled=!1,e.control_input.disabled=!1,e.focus_node.tabIndex=e.tabIndex,e.isDisabled=!1,e.unlock()}destroy(){var e=this,t=e.revertSettings +e.trigger("destroy"),e.off(),e.wrapper.remove(),e.dropdown.remove(),e.input.innerHTML=t.innerHTML,e.input.tabIndex=t.tabIndex,S(e.input,"tomselected","ts-hidden-accessible"),e._destroy(),delete e.input.tomselect}render(e,t){return"function"!=typeof this.settings.render[e]?null:this._render(e,t)}_render(e,t){var i,s,n="" +const o=this +return"option"!==e&&"item"!=e||(n=D(t[o.settings.valueField])),null==(s=o.settings.render[e].call(this,t,N))||(s=w(s),"option"===e||"option_create"===e?t[o.settings.disabledField]?P(s,{"aria-disabled":"true"}):P(s,{"data-selectable":""}):"optgroup"===e&&(i=t.group[o.settings.optgroupValueField],P(s,{"data-group":i}),t.group[o.settings.disabledField]&&P(s,{"data-disabled":""})),"option"!==e&&"item"!==e||(P(s,{"data-value":n}),"item"===e?(C(s,o.settings.itemClass),P(s,{"data-ts-item":""})):(C(s,o.settings.optionClass),P(s,{role:"option",id:t.$id}),o.options[n].$div=s))),s}clearCache(){y(this.options,((e,t)=>{e.$div&&(e.$div.remove(),delete e.$div)}))}uncacheValue(e){const t=this.getOption(e) +t&&t.remove()}canCreate(e){return this.settings.create&&e.length>0&&this.settings.createFilter.call(this,e)}hook(e,t,i){var s=this,n=s[t] +s[t]=function(){var t,o +return"after"===e&&(t=n.apply(s,arguments)),o=i.apply(s,arguments),"instead"===e?o:("before"===e&&(t=n.apply(s,arguments)),t)}}}return J.define("change_listener",(function(){B(this.input,"change",(()=>{this.sync()}))})),J.define("checkbox_options",(function(){var e=this,t=e.onOptionSelect +e.settings.hideSelected=!1 +var i=function(e){setTimeout((()=>{var t=e.querySelector("input") +e.classList.contains("selected")?t.checked=!0:t.checked=!1}),1)} +e.hook("after","setupTemplates",(()=>{var t=e.settings.render.option +e.settings.render.option=(i,s)=>{var n=w(t.call(e,i,s)),o=document.createElement("input") +o.addEventListener("click",(function(e){H(e)})),o.type="checkbox" +const r=q(i[e.settings.valueField]) +return r&&e.items.indexOf(r)>-1&&(o.checked=!0),n.prepend(o),n}})),e.on("item_remove",(t=>{var s=e.getOption(t) +s&&(s.classList.remove("selected"),i(s))})),e.hook("instead","onOptionSelect",((s,n)=>{if(n.classList.contains("selected"))return n.classList.remove("selected"),e.removeItem(n.dataset.value),e.refreshOptions(),void H(s,!0) +t.call(e,s,n),i(n)}))})),J.define("clear_button",(function(e){const t=this,i=Object.assign({className:"clear-button",title:"Clear All",html:e=>`
×
`},e) +t.on("initialize",(()=>{var e=w(i.html(i)) +e.addEventListener("click",(e=>{t.clear(),"single"===t.settings.mode&&t.settings.allowEmptyOption&&t.addItem(""),e.preventDefault(),e.stopPropagation()})),t.control.appendChild(e)}))})),J.define("drag_drop",(function(){var e=this +if(!$.fn.sortable)throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".') +if("multi"===e.settings.mode){var t=e.lock,i=e.unlock +e.hook("instead","lock",(()=>{var i=$(e.control).data("sortable") +return i&&i.disable(),t.call(e)})),e.hook("instead","unlock",(()=>{var t=$(e.control).data("sortable") +return t&&t.enable(),i.call(e)})),e.on("initialize",(()=>{var t=$(e.control).sortable({items:"[data-value]",forcePlaceholderSize:!0,disabled:e.isLocked,start:(e,i)=>{i.placeholder.css("width",i.helper.css("width")),t.css({overflow:"visible"})},stop:()=>{t.css({overflow:"hidden"}) +var i=[] +t.children("[data-value]").each((function(){this.dataset.value&&i.push(this.dataset.value)})),e.setValue(i)}})}))}})),J.define("dropdown_header",(function(e){const t=this,i=Object.assign({title:"Untitled",headerClass:"dropdown-header",titleRowClass:"dropdown-header-title",labelClass:"dropdown-header-label",closeClass:"dropdown-header-close",html:e=>'
'+e.title+'×
'},e) +t.on("initialize",(()=>{var e=w(i.html(i)),s=e.querySelector("."+i.closeClass) +s&&s.addEventListener("click",(e=>{H(e,!0),t.close()})),t.dropdown.insertBefore(e,t.dropdown.firstChild)}))})),J.define("caret_position",(function(){var e=this +e.hook("instead","setCaret",(t=>{"single"!==e.settings.mode&&e.control.contains(e.control_input)?(t=Math.max(0,Math.min(e.items.length,t)))==e.caretPos||e.isPending||e.controlChildren().forEach(((i,s)=>{s{if(!e.isFocused)return +const i=e.getLastActive(t) +if(i){const s=L(i) +e.setCaret(t>0?s+1:s),e.setActiveItem()}else e.setCaret(e.caretPos+t)}))})),J.define("dropdown_input",(function(){var e=this +e.settings.shouldOpen=!0,e.hook("before","setup",(()=>{e.focus_node=e.control,C(e.control_input,"dropdown-input") +const t=w('