Skip to content

Instantly share code, notes, and snippets.

@georghildebrand
Last active December 16, 2022 10:47
Show Gist options
  • Save georghildebrand/0e158fc531023696fe06f436598dc9e1 to your computer and use it in GitHub Desktop.
Save georghildebrand/0e158fc531023696fe06f436598dc9e1 to your computer and use it in GitHub Desktop.
Short information model of a simple smart factory shop floor process in turtle ttl
@prefix sf: <http://example.com/smartfactory#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://www.w3.org/2002/07/owl#> .
[ rdf:type owl:Ontology
] .
#################################################################
# Annotation properties
#################################################################
### http://example.com/smartfactory#partOf
sf:partOf rdf:type owl:AnnotationProperty ;
rdfs:label "part of" ;
rdfs:range sf:ProductionFacility ;
rdfs:domain sf:ProductionCell ,
sf:ProductionFacility .
#################################################################
# Datatypes
#################################################################
### http://www.w3.org/2001/XMLSchema#duration
xsd:duration rdf:type rdfs:Datatype .
#################################################################
# Object Properties
#################################################################
### http://example.com/smartfactory#locatedIn
sf:locatedIn rdf:type owl:ObjectProperty ;
rdfs:domain sf:Factory ;
rdfs:range sf:Location .
### http://example.com/smartfactory#produces
sf:produces rdf:type owl:ObjectProperty ;
rdfs:domain sf:ProductionCell ;
rdfs:range sf:Wall ;
rdfs:label "produces" .
#################################################################
# Data properties
#################################################################
### http://example.com/smartfactory#finished
sf:finished rdf:type owl:DatatypeProperty ;
rdfs:domain sf:Wall ;
rdfs:range xsd:boolean ;
rdfs:label "finished" .
### http://example.com/smartfactory#hasRFIDTag
sf:hasRFIDTag rdf:type owl:DatatypeProperty ;
rdfs:domain sf:Wall ;
rdfs:range xsd:string ;
rdfs:label "has RFID tag" .
### http://example.com/smartfactory#methodOfConstruction
sf:methodOfConstruction rdf:type owl:DatatypeProperty ;
rdfs:domain sf:Wall ;
rdfs:range xsd:string ;
rdfs:label "method of construction" .
### http://example.com/smartfactory#productionTime
sf:productionTime rdf:type owl:DatatypeProperty ;
rdfs:domain sf:Wall ;
rdfs:range xsd:duration ;
rdfs:label "production time" .
#################################################################
# Classes
#################################################################
### http://example.com/smartfactory#BuildingComponent
sf:BuildingComponent rdf:type owl:Class .
### http://example.com/smartfactory#Factory
sf:Factory rdf:type owl:Class ;
rdfs:subClassOf sf:ProductionFacility ;
rdfs:label "Wall Factory" .
### http://example.com/smartfactory#Factory1
sf:Factory1 rdf:type owl:Class ;
rdfs:subClassOf sf:Factory .
### http://example.com/smartfactory#Location
sf:Location rdf:type owl:Class .
### http://example.com/smartfactory#ProductionCell
sf:ProductionCell rdf:type owl:Class ;
rdfs:subClassOf sf:Factory ;
rdfs:label "Wall Production cell" .
### http://example.com/smartfactory#ProductionFacility
sf:ProductionFacility rdf:type owl:Class ;
rdfs:label "Production facility" .
### http://example.com/smartfactory#Wall
sf:Wall rdf:type owl:Class ;
rdfs:subClassOf sf:BuildingComponent ;
owl:disjointWith sf:WallProducedByFactory1 ;
rdfs:label "Wall" .
### http://example.com/smartfactory#WallProducedByFactory1
sf:WallProducedByFactory1 rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( sf:Factory1
sf:Wall
sf:producedBy
) ;
rdf:type owl:Class
] ;
rdfs:label "Wall type 1 can only be produced by Factory 1" .
### http://example.com/smartfactory#producedBy
sf:producedBy rdf:type owl:Class .
#################################################################
# Individuals
#################################################################
### http://example.com/smartfactory#Factory1
sf:Factory1 rdf:type owl:NamedIndividual ,
sf:Factory .
### http://example.com/smartfactory#Wall1
sf:Wall1 rdf:type owl:NamedIndividual ,
sf:Wall ;
sf:finished "True" ;
sf:hasRFIDTag "123456789" ;
sf:methodOfConstruction "Prefabricated" ;
sf:productionTime "PT5H"^^xsd:duration ;
sf:partOf sf:Shopfloor ;
rdfs:label "Wall 1" .
### http://example.com/smartfactory#cell1
sf:cell1 rdf:type owl:NamedIndividual ,
sf:ProductionCell ;
sf:produces sf:wall1 ;
sf:partOf sf:shopfloor1 ;
rdfs:label "Cell 1" .
### http://example.com/smartfactory#shopfloor1
sf:shopfloor1 rdf:type owl:NamedIndividual ,
sf:ProductionFacility ;
sf:partOf sf:factory1 ;
rdfs:label "Shopfloor 1" .
### http://example.com/smartfactory#wall1
sf:wall1 rdf:type owl:NamedIndividual .
#################################################################
# Annotations
#################################################################
sf:Factory1 rdfs:label "Factory 1" ;
sf:locatedIn "Location 1" .
sf:locatedIn rdfs:label "located in" .
### Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment