Closed andrecastro0o closed 3 years ago
removal of the sosa:Sensor and make mato:Equipment subClassOf ssn:System Already done in #14
As sosa:Sensor
sosa:Sensor a rdfs:Class , owl:Class ;
rdfs:label "Sensor"@en ;
skos:definition "Device, agent (including humans), or software (simulation) involved in, or implementing, a Procedure. Sensors respond to a stimulus, e.g., a change in the environment, or input data composed from the results of prior Observations, and generate a Result. Sensors can be hosted by Platforms."@en ;
rdfs:comment "Device, agent (including humans), or software (simulation) involved in, or implementing, a Procedure. Sensors respond to a stimulus, e.g., a change in the environment, or input data composed from the results of prior Observations, and generate a Result. Sensors can be hosted by Platforms."@en ;
skos:example "Accelerometers, gyroscopes, barometers, magnetometers, and so forth are Sensors that are typically mounted on a modern smart phone (which acts as Platform). Other examples of sensors include the human eyes."@en ;
rdfs:isDefinedBy sosa: .
### http://www.w3.org/ns/ssn/System
ssn:System a owl:Class ;
rdfs:label "System"@en ;
skos:definition "System is a unit of abstraction for pieces of infrastructure that implement Procedures. A System may have components, its subsystems, which are other systems."@en ;
rdfs:comment "System is a unit of abstraction for pieces of infrastructure that implement Procedures. A System may have components, its subsystems, which are other systems."@en ;
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty sosa:isHostedBy ; owl:allValuesFrom sosa:Platform ] ;
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty ssn:implements ; owl:allValuesFrom sosa:Procedure ] ;
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty ssn:hasSubSystem ; owl:allValuesFrom ssn:System ] ;
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty [ owl:inverseOf ssn:hasSubSystem ] ; owl:allValuesFrom ssn:System ] ;
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty ssn:hasDeployment ; owl:allValuesFrom ssn:Deployment ] ;
rdfs:isDefinedBy ssn: .
Note that ssn:System
is subClassOf all Values of the property ssn:implements
(Relation between an entity that implements a Procedure the Procedure) that are instances of sosa:Procedure
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty ssn:implements ; owl:allValuesFrom sosa:Procedure ] ;
in 94f684e169e1c2b14d1660a5484f99104a00638f
I added the object property mato:isResponsibleFor
with
mato:Equipment
prov:Organization
, prov:Person
### https://github.com/tibonto/mato#isResponsibleFor
mato:isResponsibleFor rdf:type owl:ObjectProperty ;
rdfs:domain mato:Equipment ;
rdfs:range prov:Organization ,
prov:Person .
### http://www.w3.org/ns/prov#Agent
prov:Agent rdf:type owl:Class ;
owl:disjointWith prov:InstantaneousEvent ;
rdfs:isDefinedBy <http://www.w3.org/ns/prov-o#> ;
rdfs:label "Agent" ;
prov:category "starting-point" ;
prov:component "agents-responsibility" ;
prov:definition "An agent is something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity. "@en ;
prov:dm "http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-agent"^^xsd:anyURI ;
prov:n "http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Agent"^^xsd:anyURI .
### http://www.w3.org/ns/prov#Organization
prov:Organization rdf:type owl:Class ;
rdfs:subClassOf prov:Agent ;
rdfs:isDefinedBy <http://www.w3.org/ns/prov-o#> ;
rdfs:label "Organization" ;
prov:category "expanded" ;
prov:component "agents-responsibility" ;
prov:definition "An organization is a social or legal institution such as a company, society, etc." ;
prov:dm "http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-agent"^^xsd:anyURI ;
prov:n "http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-types"^^xsd:anyURI .
### http://www.w3.org/ns/prov#Person
prov:Person rdf:type owl:Class ;
rdfs:subClassOf prov:Agent ;
rdfs:isDefinedBy <http://www.w3.org/ns/prov-o#> ;
rdfs:label "Person" ;
prov:category "expanded" ;
prov:component "agents-responsibility" ;
prov:definition "Person agents are people."@en ;
prov:dm "http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-agent"^^xsd:anyURI ;
prov:n "http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-types"^^xsd:anyURI .
And since the concept of a person is covered by prov:Person
I removed mato:Person
from drawing and also dcterms:Agent
and foaf:Agent
in 77b9775155d1a75e0ae4cffdd0b000f5d8685a95
Location 053f8db8f14ec4075f0fcac69ce75684933b5dac
added data property mato:atLocation
since, to to use prov:atLocation
object Property to indicate the location of a mato:Equipment instance is tricky as it is both an Object Property and has range prov:Location ;
\
which would require each location to an instance of prov:Location
### http://www.w3.org/ns/prov#atLocation
prov:atLocation rdf:type owl:ObjectProperty ;
rdfs:domain [ rdf:type owl:Class ;
owl:unionOf ( prov:Activity
prov:Agent
prov:Entity
prov:InstantaneousEvent
)
] ;
rdfs:range prov:Location ;
rdfs:comment "The Location of any resource."@en ,
"This property has multiple RDFS domains to suit multiple OWL Profiles. See <a href=\"#owl-profile\">PROV-O OWL Profile</a>." ;
rdfs:isDefinedBy <http://www.w3.org/ns/prov-o#> ;
rdfs:label "atLocation" ;
prov:category "expanded" ;
prov:editorialNote "The naming of prov:atLocation parallels prov:atTime, and is not named prov:hadLocation to avoid conflicting with the convention that prov:had* properties are used on prov:Influence classes."@en ,
"This property is not functional because the many values could be at a variety of granularies (In this building, in this room, in that chair)."@en ;
prov:inverse "locationOf" ;
prov:sharesDefinitionWith prov:Location .
Hence I propose the creation of the data property mato:atLocation
which will allow for statements such as
MachineX mato:atLocation "BuildindXYZ"
without the building requiring a URI
and the removal of mato:isLocatedIn - as it is redundant
### https://github.com/tibonto/mato#atLocation
mato:atLocation rdf:type owl:DatatypeProperty ;
rdfs:domain mato:Equipment ;
rdfs:label "The location of an Equipment"@en ;
skos:relatedMatch prov:atLocation .
ccf375035a4689787d4c903ddff0e3fd412d2e64 added ObjectProperty mato:depicted_by
to allow a visual representation of the device to be created
### https://github.com/tibonto/mato#depicted_by
mato:depicted_by rdf:type owl:ObjectProperty ;
rdfs:domain ssn:System ;
rdfs:label "depicted by"@en ;
skos:closeMatch <http://xmlns.com/foaf/0.1/depicted_by> .
There are a few issues with the structure of mato as represented by the initial t-box created by @ShevelTatyana
I will be proposing a few changes in order to clarify and simply aspects it.
As it is a new ontology, it is better to start simple and add complexity as we go, so that we avoid backwards incompatibility issues of data that is annotated with a structure that is changed.
I will write a comment and respective commit per issue