################################################################# ### Created by Javad Chamanara ### ################################################################# @prefix : . @prefix rdf: . @prefix rdfs: . @prefix owl: . @prefix xsd: . @prefix dc: . @prefix xml: . @prefix oboe: . @prefix sosa: . @prefix ssn: . @prefix wot: . @prefix swrlb: . @prefix swrl: . @prefix dul: . @prefix cc: . @prefix vs: . @prefix foaf: . @prefix owl2xml: . @prefix emmo: . @prefix skos: . @prefix dcat: . @prefix vann: . @prefix bibo: . @prefix schema: . @prefix dcterms: . @base . rdf:type owl:Ontology ; dc:title "Materials Vocabulary: MatVoc-Core"@en; dc:description "The Materials RDF vocabulary, described using W3C RDF Schema and the Web Ontology Language to satisfy the requirements of the STREAM project."@en ; vann:preferredNamespaceUri "http://stream-ontology.com/" ; vann:preferredNamespacePrefix "mvc"@en ; bibo:status "STREAM project result, founding tag: 16QK11"@en ; schema:schemaVersion "1.0.0" ; owl:versionInfo "1.0.0" ; dc:creator "Javad Chamanara", "Tatyana Sheveleva" ; dcterms:contributor ; dcterms:license "MIT License"@en ; dcterms:modified "2022-12-12" ; rdfs:seeAlso . ################################################################# ### Class Definitions ### :Study rdf:type owl:Class; #owl:equivalentClass dul:Process ; # needs more investigation for possible alternatives, PSL, ... #owl:equivalentClass bpmn1:FlowNode ; # https://www.researchgate.net/publication/221448529_Towards_a_BPMN_20_ontology/figures #owl:equivalentClass bpmn2:Process ; # https://dkm.fbk.eu/bpmn-ontology rdfs:comment "An endeavor that adheres to scientific research design to obtain a result or an insight."@en ; rdfs:label "Study"@IRI-based; rdfs:label "Study"@en . :Experiment rdf:type owl:Class; rdfs:subClassOf :Study ; rdfs:comment "A single, unique, and identifiable experiment."@en ; rdfs:label "Experiment"@IRI-based; rdfs:label "Experiment"@en . :Simulation rdf:type owl:Class; rdfs:subClassOf :Study ; rdfs:comment "A single, unique, and identifiable simulation."@en ; rdfs:label "Simulation"@IRI-based; rdfs:label "Simulation"@en . :Run rdf:type owl:Class; #owl:equivalentClass psl:Flow ; rdfs:comment "A single, unique, and identifiable execution of an experiment or simulation under defined terms and settings."@en ; rdfs:label "Run"@IRI-based; rdfs:label "Run"@en . # Add triples to say emmo:Item is a/sub of oboe:Entity to allow observations to apply to the characteristics of EMMO's items. :Entity rdf:type owl:Class; rdfs:comment "Entity class is an abstract entity which is being processed within an experiment or simulated."@en ; owl:equivalentClass oboe:Entity ; owl:equivalentClass emmo:Item ; owl:equivalentClass sosa:FeatureOfInterest . :Material rdf:type owl:Class; rdfs:comment "Material class is a representative of a feature of interest on which an experiment or a simulation is made."@en ; rdfs:subClassOf :Entity . :Sample rdf:type owl:Class; rdfs:comment "Sample is a class representing a subset of a material that is the object of an experiment or a simulation."@en ; #owl:equivalentClass oboe:Entity ; owl:equivalentClass sosa:Sample . :Observer rdf:type owl:Class; rdfs:subClassOf foaf:Agent ; #owl:equivalentClass ssn:System ; rdfs:comment "An agent that can observe an observation. It can be a human, device, sensor, or software."@en ; rdfs:label "Observer"@IRI-based; rdfs:label "Observer"@en . :Dataset rdf:type owl:Class; owl:equivalentClass oboe:ObservationCollection ; rdfs:comment "A set of related observations with their measurements and values, obtained by a single run."@en ; rdfs:label "Dataset"@IRI-based; rdfs:label "Dataset"@en . :Term rdf:type owl:Class; owl:subClassOf oboe:Standard ; rdfs:comment "A term or condition that applies to an observation or a run."@en ; rdfs:label "Term"@IRI-based; rdfs:label "Term"@en . :Enumeration rdf:type owl:Class; rdfs:subClassOf :Term ; owl:equivalentClass skos:Concept ; rdfs:comment "A terminology, e.g., a closed list of vocabularies that can be used to limit the valid values of a measurement."@en ; rdfs:label "Enumeration"@IRI-based; rdfs:label "Enumeration"@en . :Configuration rdf:type owl:Class; rdfs:subClassOf :Term ; rdfs:comment "A specific setting or arrangement of the observers, entities, and/or charcteristics. This can be e.g., an atom topology in a smulation."@en ; rdfs:label "Configuration"@IRI-based; rdfs:label "Configuration"@en . :Method rdf:type owl:Class; owl:equivalentClass oboe:Protocol ; rdfs:comment "The method of performing an experiment, observation, or measurement."@en ; rdfs:label "Method"@IRI-based; rdfs:label "Method"@en . :Formula rdf:type owl:Class; rdfs:comment "define formula's associated with the material."@en ; rdfs:label "Formula"@IRI-based; rdfs:label "Formula"@en . # MeasuredValue class has a data type property raw value, which its data type can be determined by xsd types, hence no need to have a type system here. #:DataType rdf:type owl:Class; # owl:equivalentClass ontodt:OntoDT_487147 ; # datatype from ontoDT # rdfs:comment "System type of the data, e.g., string, float, integer."@en ; # rdfs:label "DataType"@IRI-based; # rdfs:label "Data Type"@en . #:Integer rdf:type owl:Class; # owl:equivalentClass ontodt:OntoDT_0000003 ; # rdfs:comment "Integer Data Type"@en ; # rdfs:label "Integer"@IRI-based; # rdfs:label "Integer"@en . #:Real rdf:type owl:Class; # owl:equivalentClass ontodt:OntoDT_488636 ; # rdfs:comment "Real Data Type, e.g., float and double."@en ; # rdfs:label "Real"@IRI-based; # rdfs:label "Real"@en . #:String rdf:type owl:Class; # #owl:equivalentClass ontodt:XXX ; # rdfs:comment "String date type."@en ; # rdfs:label "String"@IRI-based; # rdfs:label "String"@en . ### End of Class Definitions ### ################################################################# ################################################################# ### Object Property Definitions ### :hasRun rdf:type owl:ObjectProperty ; rdfs:comment "The hasRun property gives the runs of a simulation."@en ; rdfs:label "hasRun"@IRI-based; rdfs:label "has run"@en; rdfs:domain :Study; rdfs:range :Run . :isRunOf rdf:type owl:ObjectProperty ; owl:inverseOf :hasRun ; rdfs:comment "The isRunOf property gives the simulation of a run."@en ; rdfs:label "isRunOf"@IRI-based; rdfs:label "is run of"@en; rdfs:domain :Run; rdfs:range :Study . :hasProtocol rdf:type owl:ObjectProperty ; rdfs:comment "The hasProtocol property gives the protocol of an individual in the domain."@en ; rdfs:label "hasProtocol"@IRI-based; rdfs:label "has protocol"@en; #rdfs:domain :Run; # The domain class can be a Run, an Observation, or a Measurement. Hence, I relaxed determining the domain. rdfs:domain :Run; rdfs:domain oboe:Observation; rdfs:domain oboe:Measurement; rdfs:range oboe:Protocol . :hasMethod rdf:type owl:ObjectProperty ; rdfs:comment "The hasMethod property gives the method of an individual in the domain."@en ; rdfs:label "hasMethod"@IRI-based; rdfs:label "has method"@en; #rdfs:domain :Run; # The domain class can be a Run, an Observation, or a Measurement. Hence, I relaxed determining the domain. rdfs:domain :Run; rdfs:domain oboe:Observation; rdfs:domain oboe:Measurement; rdfs:range :Method . :restrictedBy rdf:type owl:ObjectProperty ; rdfs:comment "The restrictedBy property gives the terms that are applied to a Run, an Obervation, or a Measurement." ; rdfs:label "restrictedBy"@IRI-based; rdfs:label "restricted by"@en; #rdfs:domain :Run; # The domain class can be a Run, an Observation, or a Measurement. Hence, I relaxed determining the domain. rdfs:domain :Run; rdfs:domain oboe:Observation; rdfs:domain oboe:Measurement; rdfs:range :Term . :resultsIn rdf:type owl:ObjectProperty ; rdfs:comment "The resultsIn property gives the observation collection of a run." ; rdfs:label "resultsIn"@IRI-based; rdfs:label "results in"@en; rdfs:domain :Run; rdfs:range :Dataset . # can be removed or repurposed, as one run may have more than one observation, and they are captured via the resultsIn property. :defines rdf:type owl:ObjectProperty ; rdfs:comment "The defines property gives the observations defined by a run." ; rdfs:label "defines"@IRI-based; rdfs:label "defines"@en; rdfs:domain :Run; rdfs:range oboe:Observation . :observes rdf:type owl:ObjectProperty ; rdfs:comment "The observes property gives the characteristic that has been observed by an observer." ; rdfs:label "observes"@IRI-based; rdfs:label "observes"@en; rdfs:domain :Observer; rdfs:range oboe:Characteristic . :isObservedBy rdf:type owl:ObjectProperty ; owl:inverseOf :observes ; rdfs:comment "The isObservedBy property gives the observer of a characteristic." ; rdfs:label "isObservedBy"@IRI-based; rdfs:label "is observed by"@en; rdfs:domain oboe:Characteristic; rdfs:range :Observer . :hasTag rdf:type owl:ObjectProperty ; rdfs:comment "The hasTag property gives allows the measurements to have classification, grouping, or thematic tags." ; rdfs:label "hasTag"@IRI-based; rdfs:label "has tag"@en; rdfs:domain oboe:measurement; rdfs:range skos:Concept . :hasMetadata rdf:type owl:ObjectProperty ; rdfs:comment "The hasMetadata property allows a dataset (observation collection) to be explained by a DCAT metadata." ; rdfs:label "hasMetadata"@IRI-based; rdfs:label "has metadata"@en; rdfs:domain :Dataset; rdfs:range dcat:Dataset. :isSampleOf rdf:type owl:ObjectProperty ; rdfs:comment "The isSampleOf property indicated the feature of interest that the sample is taken from" ; rdfs:label "isSampleOf"@IRI-based; rdfs:label "is sample of"@en; rdfs:domain :Sample; rdfs:range :Entity . #:hasDataType rdf:type owl:ObjectProperty ; # rdfs:comment "The hasDataType property give the data type of a measurement value." ; # rdfs:label "hasDataType"@IRI-based ; # rdfs:label "has dataType"@en ; # rdfs:domain oboe:MeasuredValue ; # rdfs:range :DataType . ### End of Object Property Definitions ### ################################################################# ################################################################# ### Data Property Definitions ### :hasRawValue rdf:type owl:DatatypeProperty; rdfs:comment "The hasRawValue property is the coded representation of the measured value."@en ; owl:equivalentProperty oboe:hasCode ; rdfs:domain oboe:MeasuredValue . :startedAt rdf:type owl:DatatypeProperty; rdfs:comment "The date and time when the ran started."@en ; rdfs:domain :Run ; rdfs:range xsd:dateTime . :finishedAt rdf:type owl:DatatypeProperty; rdfs:comment "The date and time when the ran is finished."@en ; rdfs:domain :Run ; rdfs:range xsd:dateTime . ### End of Data Property Definitions ### #################################################################